gpt4 book ai didi

ios - 如何制作带有居中注释的可拖动 map

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:01:06 25 4
gpt4 key购买 nike

我正在尝试制作可拖动的注释。但是我不想使注释可拖动,而是希望 mapView 在注释周围移动。所以注释将一直停留在 mapView 的中心,但是当用户完成拖动 map 并单击保存时,我可以获得注释坐标。我可以通过什么方式做到这一点?假设我已经在屏幕上添加了注释。

我的 ViewDidLoad

    mapView.delegate = self

let anno = MKPointAnnotation()
anno.coordinate = CLLocationCoordinate2D(latitude: 41.417110, longitude: -92.914788)

mapView.addAnnotation(anno)

我的注释 View

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
}

最佳答案

在 map 顶部添加标记图像,将其添加为 subview 。然后,当用户停止滚动时,您通常可以使用 mapView.centerCoordinate 获取中心坐标。

let markerImageView = UIImageView(image: UIImage(named: "Orange"))
markerImageView.center = mapView.center
mapView.addSubview(markerImageView)

关于ios - 如何制作带有居中注释的可拖动 map ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52847490/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com