macOS - OS X - Swift 3 - 如何知道用户何时在地图上放大/缩小?

时间:2017-06-24 03:08:54

标签: xcode macos swift3 mapkit

我使用MapKit,我的macOS应用程序中有一张地图。我如何知道用户何时在我的地图上放大和缩小?

1 个答案:

答案 0 :(得分:0)

如果您已经拥有使用MapView的应用程序,并且视图控制器符合MKMapViewDelegate,请实现以下方法以查明用户是否放大/缩小地图视图。但首先,用同样的方法打印出来:

func mapView(_ mapView: MKMapView, regionDidChangeAnimated animated: Bool) {

    print(mapView.region.span.latitudeDelta)
}

这将显示当您移动到某个区域时设置的任何跨度的当前纬度增量。我在地图上以相同的缩放级别到达了大约0.014,因此您需要做的就是检查增量是否大于或小于该数字,如下所示。

func mapView(_ mapView: MKMapView, regionDidChangeAnimated animated: Bool) {

    let latitudeDelta = mapView.region.span.latitudeDelta

    if (latitudeDelta > 0.015 || latitudeDelta < 0.014)
    {
        print("User zoomed map")
    }
}