MKMapKit PushPin on Tap

时间:2011-06-08 05:21:34

标签: cocoa-touch ios ios4 mkmapview mapkit

我需要在用户点击MKMapView的位置放置一个图钉。请求共享任何用于此目的的想法/线索/链接。感谢。

1 个答案:

答案 0 :(得分:0)

您可以使用UITapRecognizer。在手势处理程序中,您可以访问用户使用的坐标

CGPoint touchLocation = [gesture locationInView:mapView];
CLLocationCoordinate2D coordinate = [mapView convertPoint:touchLocation toCoordinateFromView:mapView];

您可以使用此坐标创建注释。为此,您必须定义符合MKAnnotation协议的类。创建并将其实例添加到mapView。

在委托方法mapView:viewForAnnotation:中,为注释创建并返回MKPinAnnotationView的实例。

但是有警告。在手势处理程序中添加注释可能不是最佳移动,因为手势处理程序不知道选择注释视图。要解决此问题,您可以使用performSelector:withObject:afterDelay:来安排添加。如果调用了委托方法mapView:didSelectAnnotationView:,则取消执行请求。