我是 ios 新手,我需要使用 swift 在 MKMapView
中实现可拖动的 MKPointAnnotation
。我需要一个例子。我现在实现了 MKMapView
并在 map 中添加了一个 MKPointAnnotation
(addAnnotation)。
我的英语不好,请帮助我!
我找到了这个 link ,但我没看懂。
最佳答案
您必须创建一个派生自 MKMapView 的自定义类。此类必须实现 MKMapViewDelegate
协议(protocol)。
然后您需要 2 个步骤:创建注释对象并为该注释创建一个 View 。
创建注释:
代码中的某处,取决于您的需要:
let annotation = MKPointAnnotation()
annotation.setCoordinate(location) // your location here
annotation.title = "My Title"
annotation.subtitle = "My Subtitle"
self.mapView.addAnnotation(annotation)
创建注解 View
func mapView(mapView: MKMapView!, viewForAnnotation annotation: MKAnnotation!) -> MKAnnotationView! {
if annotation is MKPointAnnotation {
let pinAnnotationView = MKPinAnnotationView(annotation: annotation, reuseIdentifier: "myPin")
pinAnnotationView.pinColor = .Purple
pinAnnotationView.draggable = true
pinAnnotationView.canShowCallout = true
pinAnnotationView.animatesDrop = true
return pinAnnotationView
}
return nil
}
关于ios - 如何使用 Swift (IOS) 实现可拖动的 MKPointAnnotation?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26228621/