2015-10-19 195 views
1

我有以下內容的在線課程,以顯示如何在地圖上落針的應用程序和即時消息,但可以讓你把針無限量。我只想要1個引腳在一個時間,如果你在這個位置放置一個圖釘,然後在另一它消除原銷只允許一個腳落

這裏落個腳被丟棄,例如是到目前爲止我的代碼

let longPress = UILongPressGestureRecognizer(target: self, action: "mapLongPress:") 
    longPress.minimumPressDuration = 2 
    self.mapView.addGestureRecognizer(longPress) 




func mapLongPress(recognizer: UIGestureRecognizer){ 
    print("its done") 

    let touchedAt = recognizer.locationInView(self.mapView) 
    let touchedAtCoordinate : CLLocationCoordinate2D = mapView.convertPoint(touchedAt, toCoordinateFromView: self.mapView) 
    let newPin = MKPointAnnotation() 
    newPin.coordinate = touchedAtCoordinate 
    mapView.addAnnotation(newPin) 
} 
+0

您可以在繪製下一個引腳之前嘗試清除mapview。在長按手勢清除地圖上的註釋。 – dogwasstar

+1

您可以在刪除另一個針之前刪除所有註釋。 mapView.removeAnnotations(mapView.annotations) –

+1

@LeoDabus謝謝,工作完美....基本上我想發送的下降引腳位置解析...所以你高清幫我這條道路上! – RubberDucky4444

回答

2

可以丟棄另一腳前刪除所有註釋。

mapView.removeAnnotations(mapView.annotations) 
2

不要創建一個新的針每次只需更新的座標爲銷

0

不知道這是正確的做法,但只要我需要顯示的地圖我清除舊上新的PIN或註釋。

[self.mapView removeAnnotations:[self.mapView annotations]]; 

對不起還沒有得到斯威夫特的代碼,但它爲我工作,因爲我需要在地圖上顯示車輛圖標,並每隔30秒就說明新的位置。希望這可以幫助。