我有一个应用程序,我正在关注一个在线课程,以展示如何在地图上放置针脚,但这可以让你放下无限量的针脚。我只希望一次丢弃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 :(得分:2)
每次都不要创建新的引脚,只需更新引脚的坐标
答案 1 :(得分:2)
您可以在删除其他引脚之前删除所有注释。
mapView.removeAnnotations(mapView.annotations)
答案 2 :(得分:0)
不确定这是否是正确的方法,但无论何时我需要在地图上显示新的图钉或注释,我都会清除旧图钉。
[self.mapView removeAnnotations:[self.mapView annotations]];
抱歉没有得到swift的代码,但它适用于我,因为我需要在地图上显示车辆图标,并且每30秒显示一个新位置。希望这会有所帮助。