Im Moment fülle ich eine Kartenansicht mit Anmerkungen auf und zeige auch den aktuellen Standort des Benutzers an. Mit der viewForAnnotation-Methode werden alle Anmerkungen mit der standardmäßigen roten Stecknadel überschrieben, aber ich möchte die Ansichten für die anderen Anmerkungen zurückgeben, aber den Benutzerstandort mit dem standardmäßigen blauen Leuchtfeuer beibehalten. Gibt es eine Möglichkeit, dies einfach zu tun, oder muss ich eine neue Anmerkungsansicht erstellen und je nach Anmerkung die richtige zurückgeben?
Im Moment habe ich etwas wie:
- (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id <MKAnnotation>)annotation
{
if (annotation.coordinate == locationManager.location.coordinate) {
return nil;
}else {
MKAnnotationView *annotationView = [[MKPinAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:@"Beacon"];
// Button
UIButton *button = [UIButton buttonWithType:UIButtonTypeDetailDisclosure];
button.frame = CGRectMake(0, 0, 23, 23);
annotationView.rightCalloutAccessoryView = button;
annotationView.canShowCallout = YES;
return annotationView;
}
}
Aber ich kann die beiden nicht gleichsetzen, weil ich die Koordinateneigenschaft nicht aus dem Anmerkungsargument herausbekommen kann.
Kennt jemand eine Lösung für dieses Problem?