我正在尝试进行可拖动的注释。但是,我希望mapView在注释周围移动,而不是使注释可拖动。因此,注释将始终保持在mapView的中心,但是当用户完成拖动地图并单击“保存”后,我便可以获取注释坐标。 我该怎么做? 假设我已经在屏幕上有注释。
我的ViewDidLoad
mapView.delegate = self
let anno = MKPointAnnotation()
anno.coordinate = CLLocationCoordinate2D(latitude: 41.417110, longitude: -92.914788)
mapView.addAnnotation(anno)
我的注释视图
func mapView(_ mapView: MKMapView, viewFor annotation: MKAnnotation) -> MKAnnotationView? {
guard annotation is MKPointAnnotation else { return nil }
let identifier = "marker"
var view: MKAnnotationView
if let dequeuedView = mapView.dequeueReusableAnnotationView(withIdentifier: identifier)
as? MKMarkerAnnotationView {
dequeuedView.annotation = annotation
view = dequeuedView
} else {
view = MKMarkerAnnotationView(annotation: annotation, reuseIdentifier: identifier)
view.isDraggable = true
view.canShowCallout = false
}
return view
}
答案 0 :(得分:0)
在地图顶部添加标记的图像,并将其添加为子视图。然后,当用户停止滚动时,通常可以使用mapView.centerCoordinate获取中心坐标。
let markerImageView = UIImageView(image: UIImage(named: "Orange"))
markerImageView.center = mapView.center
mapView.addSubview(markerImageView)