【发布时间】:2013-02-12 00:53:05
【问题描述】:
使用 iOS 6 MapKit,我想定义一个 MKAnnotation(如 pin,或自定义),当用户移动地图时,它会保持固定在地图视图的中心。一旦用户停止移动地图,我希望能够读取注释的新坐标。我怎样才能做到这一点?
谢谢
【问题讨论】:
标签: ios6 mapkit mkannotationview
使用 iOS 6 MapKit,我想定义一个 MKAnnotation(如 pin,或自定义),当用户移动地图时,它会保持固定在地图视图的中心。一旦用户停止移动地图,我希望能够读取注释的新坐标。我怎样才能做到这一点?
谢谢
【问题讨论】:
标签: ios6 mapkit mkannotationview
最简单的方法是将自定义 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
}
}
【讨论】: