In modo wich ho potuto chiamare la funzione che apre automaticamente la mia annotazione (con titolo, sottotitolo, ecc), piuttosto che a toccare l'annotazione sul mapview?
Automatico "canShowCallOut" annotazione IPHONE
voti
4
2 risposte
voti 4
4
Implementare MKMapViewDelegatedelegato;
implementare - (MKAnnotationView *) mapView: (MKMapView *) mapView_ viewForAnnotation: (id <MKAnnotation>) annotation_;; per esempio come questo:
- (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;
}
Mostra il perno dopo la cartina ha terminato il caricamento:
- (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];
}
Questo codice ha una proprietà chiamata un'annotazione che implementa MKAnnotation. Inoltre, anima la mosca troppo, ma dovrebbe essere abbastanza auto-esplicativo.
HTH.
voti 3
3
Alfons ha risposto alla domanda, ma se siete alla ricerca di che cosa esattamente si apre automaticamente la didascalia, è questa parte:
[mapView selectAnnotation:annotation animated:YES];













