2015-05-11 31 views
0

我正在嘗試使用UILongPressGestureRecognizer在地圖視圖中刪除用戶位置上的註釋。除了用戶位置外,我可以在地圖視圖的其他任何地方放置註釋。用戶位置可通過mapView.showsUserLocation = true查看。UILongPressGestureRecognizer和Annotation在用戶位置上顯示時無法在地圖上顯示Swift

任何提示?我希望我的用戶知道他們與地圖相關的位置,並且能夠在其當前位置使用UILongPressGestureRecognizer。我卡住了!我在斯威夫特和X-代碼版本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) 

謝謝!

回答

0

你必須在mapView(mapView: MKMapView!, didUpdateUserLocation userLocation: MKUserLocation!)

前添加userLocation.title = ""

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

所以用戶位置的標註絕不會顯示您可以使用長按接近用戶的位置了。

+0

感謝您的支持。我將我的viewDidLoad()中的'mapView.showsUserLocation = true'移動到我現有的locationManager函數中: 'func locationManager(manager:CLLocationManager !, didUpdateLocations locations:[AnyObject]!){ //我的代碼+ mapView .showsUserLocation = true mapView.userLocation.title = nil }' 它爲我做了。非常感激。 – scottyoshimura