Автоматический «canShowCallOut» аннотация IPhone

голоса
4

В Wich образом я мог бы вызвать функцию, которая автоматически открываться моей аннотация (с заголовком, подзаголовком, и т.д.), а не коснуться аннотации на MapView?

Задан 20/03/2010 в 17:36
источник пользователем
На других языках...                            


2 ответов

голоса
4

Реализовать MKMapViewDelegateделегат;

Реализовать - (MKAnnotationView *) mapView: (MKMapView *) mapView_ viewForAnnotation: (id <MKAnnotation>) annotation_;; например , как это:

    - (MKAnnotationView *) mapView: (MKMapView *) mapView_ viewForAnnotation: (id <MKAnnotation>) annotation_ {

    MKPinAnnotationView *pin = (MKPinAnnotationView *) [self.mapView dequeueReusableAnnotationViewWithIdentifier: @"YourPinId"];
    if (pin == nil) {
        pin = [[[MKPinAnnotationView alloc] initWithAnnotation:annotation_ reuseIdentifier: @"YourPinId"] autorelease];
    }
    else {
        pin.annotation = annotation_;
    }
    pin.pinColor = MKPinAnnotationColorRed;
    [pin setCanShowCallout:YES];
    pin.animatesDrop = YES;
    return pin;
}

Показать булавку после того, как карта по окончанию загрузки:

- (void) dropPin {
    [mapView addAnnotation:self.annotation];
    [mapView selectAnnotation:self.annotation animated:YES];        
}

- (void) mapViewDidFinishLoadingMap: (MKMapView *) mapView_ {
    // if done loading, show the call out
    [self performSelector:@selector(dropPin) withObject:nil afterDelay:0.3];
}

Этот код имеет свойство называется аннотация , которая реализует MKAnnotation. Кроме того , он оживляет муху тоже, но она должна быть достаточно самостоятельным объяснением.

НТН.

Ответил 21/03/2010 в 21:47
источник пользователем

голоса
3

Альфонс ответил на вопрос, но если вы ищете что именно автоматически открывает выноски, именно эта часть:

[mapView selectAnnotation:annotation animated:YES]; 
Ответил 10/01/2012 в 05:09
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more