UILongPressGestureRecognizer和Annotation在地图上显示时不会对用户位置起作用

时间:2015-05-11 09:37:16

标签: swift annotations

我正在尝试使用UILongPressGestureRecognizer在地图视图中的用户位置上删除注释。除了用户位置,我可以在mapview中的任何其他位置删除注释。使用mapView.showsUserLocation = true可以看到用户位置。

任何提示?我希望我的用户知道他们与地图的关系,并且能够在他们当前的位置使用UILongPressGestureRecognizer。我卡住了!我在Swift和X-Code Version 6.3.1中编码 我正在使用的一些代码:

var uilpgr = UILongPressGestureRecognizer(target: self, action: "action:")
uilpgr.minimumPressDuration = 2
mapView.addGestureRecognizer(uilpgr)
mapView.showsUserLocation = true

//later on in action method
var touchPoint = gestureRecognizer.locationInView(self.mapView)
/* a bunch of code to extract the coordinates */

var annotation = MKPointAnnotation()
self.mapView.addAnnotation(annotation)

谢谢!

1 个答案:

答案 0 :(得分:0)

您必须在userLocation.title = ""

中添加mapView(mapView: MKMapView!, didUpdateUserLocation userLocation: MKUserLocation!)

例如:

func mapView(mapView: MKMapView!, didUpdateUserLocation userLocation: MKUserLocation!) {
    // your code
        userLocation.title = ""
    }

因此,userLocation的标注将永远不会显示,您也可以在用户位置附近长按。