使用 iOS 6 MapKit,我想定义一个 MKAnnotation(例如 pin,或自定义),当用户移动地图时,它保持固定在地图视图的中心。一旦用户停止移动地图,我希望能够读取注释的新坐标。我怎样才能做到这一点?
谢谢
使用 iOS 6 MapKit,我想定义一个 MKAnnotation(例如 pin,或自定义),当用户移动地图时,它保持固定在地图视图的中心。一旦用户停止移动地图,我希望能够读取注释的新坐标。我怎样才能做到这一点?
谢谢
最简单的方法是简单地将您的自定义 UIView 作为子视图添加到您的 MKMapView。这意味着当您的用户移动地图时,它将保持不动。您很可能必须通过触摸事件,以便用户可以在您的自定义视图上移动,但稍后会担心。
当您的地图视图停止移动时,获取其中心坐标。MKMapView 可以根据其中心等 [mapView centerCoordinate] 计算其坐标;
我知道这有点旧,但我推荐你DSCenterPinMapView
它是一个自定义的 MapView,带有动画和可自定义的中心图钉,可用于在地图中选择位置。
您应该安装 Pod,然后,作为您的问题的解决方案,您应该实施委托,以便您可以获得 pin 掉落的位置。
pinMapView.delegate = self
extension MyViewController: DSCenterPinMapViewDelegate {
func didStartDragging() {
// My custom actions
}
func didEndDragging() {
// My custom actions
selectedLocation = pinMapView.mapview.centerCoordinate
}
}