I wich måte kan jeg kalle den funksjonen som åpnes automatisk min merknad (med tittel, undertittel, etc), i stedet for å røre på merknaden på mapview?
Automatisk "canShowCallOut" merknad IPHONE
stemmer
4
2 svar
stemmer 4
4
Implementere MKMapViewDelegatedelegat;
implementere - (MKAnnotationView *) mapView: (MKMapView *) mapView_ viewForAnnotation: (id <MKAnnotation>) annotation_;; for eksempel slik:
- (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;
}
Vis pinnen etter at kartet er ferdig lastet:
- (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];
}
Denne koden har en egenskap kalt merknad som implementerer MKAnnotation. Også animerer det knappenål falle også, men det bør være ganske selvforklarende.
HTH.
stemmer 3
3
Alfons svarte på spørsmålet, men hvis du er ute etter hva automatisk åpner bildeforklaringen, er det denne delen:
[mapView selectAnnotation:annotation animated:YES];













