Op welke manier kan ik bellen met de functie die automatisch mijn annotatie te openen (met titel, ondertitel, etc), in plaats van aan te raken op de annotatie op de MapView?
Automatisch "canShowCallOut" annotatie IPHONE
stemmen
4
2 antwoorden
stemmen 4
4
Implementeren MKMapViewDelegateafgevaardigde;
implementeren - (MKAnnotationView *) mapView: (MKMapView *) mapView_ viewForAnnotation: (id <MKAnnotation>) annotation_;; bijvoorbeeld als volgt uit:
- (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;
}
Laat de pen nadat de kaart is geladen:
- (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];
}
Deze code heeft een eigenschap annotatie die uitvoering MKAnnotation. Ook is het bezielt de speld vallen ook, maar het moet redelijk zichzelf uit te leggen zijn.
HTH.
stemmen 3
3
Alfons beantwoordt de vraag, maar als u op zoek bent naar wat er precies automatisch opent het bijschrift, het is dit deel:
[mapView selectAnnotation:annotation animated:YES];













