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