Ho un MKMapView
implementato con queste righe di codice sorgente (la mia posizione è un proiettile blu, gli altri di uno sono i perni viola):MKMapView -> visualizzare un pulsante per la mia posizione
- (MKAnnotationView *)mapView:(MKMapView *)mapViewLocal viewForAnnotation:(id <MKAnnotation>)annotation {
if (annotation == mapViewLocal.userLocation) {
mapViewLocal.userLocation.title = @"Test";
[mapViewLocal setRegion:MKCoordinateRegionMakeWithDistance(mapViewLocal.userLocation.coordinate, 1000, 1000) animated:YES];
return nil;
}
MKPinAnnotationView *pinView = (MKPinAnnotationView*)[mapViewLocal dequeueReusableAnnotationViewWithIdentifier:@"Pin"];
if(pinView == nil) {
pinView = [[[MKPinAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:@"Pin"] autorelease];
pinView.pinColor = MKPinAnnotationColorPurple;
pinView.rightCalloutAccessoryView = [UIButton buttonWithType:UIButtonTypeDetailDisclosure];
pinView.animatesDrop = NO;
pinView.canShowCallout = YES;
} else {
pinView.annotation = annotation;
}
return pinView;
}
I perni viola hanno un pulsante di divulgazione dei dettagli, ma la mia annotazione non ne ha uno. Come posso impostare un tale pulsante?
E questo è il metodo in cui posso fare qualcosa di un pulsante è pressd:
-(void)mapView:(MKMapView *)mapView annotationView:(MKAnnotationView *)view calloutAccessoryControlTapped:(UIControl *)control
Come potrei distinguere tra la mia posizione e tutti gli altri la propria, perché ho bisogno di un trattamento diverso. C'è un altro delegato o devo fare una specie di clausola if?