iPhone: Detecting Tap in MKMapView iPhone: Detecting Tap in MKMapView ios ios

iPhone: Detecting Tap in MKMapView


If you're just looking to get notified of tap gestures without affecting any of the other touch behavior of the map, you'll want to use a UITapGestureRecognizer. It's super simple, just put in some code like this.

UITapGestureRecognizer* tapRec = [[UITapGestureRecognizer alloc]    initWithTarget:self action:@selector(didTapMap:)];[theMKMapView addGestureRecognizer:tapRec];[tapRec release];

That will call the didTapMap whenever theMKMapView receives a tap gesture and all the pinching, and dragging gestures will still work as they did before.


Or depending on what you are trying to do, add an MKAnnotation (push pin, with a callout), so you have something to tap on - and then your map delegate will receive an event eg.

mapView:(MKMapView *)mapView annotationView:(MKAnnotationView *)view calloutAccessoryControlTapped:(UIControl *)control