Search code examples
iosobjective-cmkmapviewmkannotationviewmkpinannotationview

Get indexPath of mapView annotation


When an annotation on the map is selected and the callout accessory control button is tapped I need to be able to find the index of that annotation. The index is going to be used to look at information in an array to prepare for the next view controller (detailed).

How do I find the index of an annotation?

- (void)mapView:(MKMapView *)mapView annotationView:(MKAnnotationView *)view calloutAccessoryControlTapped:(UIControl *)control
{
NSLog(@"Button clicked");
[self performSegueWithIdentifier:@"showDetail" sender:self];
}

Thanks


Solution

  • MKAnnotationView * view = ...

    NSUInteger index = [mapView.annotations indexOfObject:view.annotation];