2

使用 iOS 6 MapKit,我想定义一个 MKAnnotation(例如 pin,或自定义),当用户移动地图时,它保持固定在地图视图的中心。一旦用户停止移动地图,我希望能够读取注释的新坐标。我怎样才能做到这一点?

谢谢

4

2 回答 2

2

最简单的方法是简单地将您的自定义 UIView 作为子视图添加到您的 MKMapView。这意味着当您的用户移动地图时,它将保持不动。您很可能必须通过触摸事件,以便用户可以在您的自定义视图上移动,但稍后会担心。

当您的地图视图停止移动时,获取其中心坐标。MKMapView 可以根据其中心等 [mapView centerCoordinate] 计算其坐标;

于 2013-02-13T21:17:00.567 回答
0

我知道这有点旧,但我推荐你DSCenterPinMapView

它是一个自定义的 MapView,带有动画和可自定义的中心图钉,可用于在地图中选择位置。

您应该安装 Pod,然后,作为您的问题的解决方案,您应该实施委托,以便您可以获得 pin 掉落的位置。

pinMapView.delegate = self

extension MyViewController: DSCenterPinMapViewDelegate {

    func didStartDragging() {
        // My custom actions
    }

    func didEndDragging() {
        // My custom actions
        selectedLocation = pinMapView.mapview.centerCoordinate
    }

}

于 2020-08-06T20:16:18.063 回答