用户平移/移动地图后,如何停止将地图区域居中到用户的当前位置

时间:2017-01-21 21:27:17

标签: swift3 mkmapview mapkit userlocation

我有一个应用程序,它显示一个mapView,设置区域并将其居中到用户的当前位置。它还显示各种注释。当用户拖动/平移地图时,didUpdate userLocation会导致地图区域重新居中到用户的当前位置,从而无法平移地图。 stopUpdating该地区的最佳方法是什么?我试图设置distanceFilter,但它确实没有用。我不确定如何实现一些教程所讨论的Bool iVar。我的代码是:

func mapView(_ mapView: MKMapView, didUpdate userLocation: MKUserLocation) {

        var region = MKCoordinateRegion()
        region.center = mapView.userLocation.coordinate
        region.span.latitudeDelta = 0.02
        region.span.longitudeDelta = 0.02
        myMapView.setRegion(region, animated: true)
 }

1 个答案:

答案 0 :(得分:0)

您可以删除当前的委托方法,转而使用CLLocationManager。然后,如果您需要设置地图视图的区域,则可以使用CLLocationManagerlocationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation])实例收到的位置。如果您不想更新用户在地图上的位置居中,那么您只需将其设置一次,然后使用您想要的位置。