我有一个应用程序,它显示一个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)
}
答案 0 :(得分:0)
您可以删除当前的委托方法,转而使用CLLocationManager
。然后,如果您需要设置地图视图的区域,则可以使用CLLocationManager
中locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation])
实例收到的位置。如果您不想更新用户在地图上的位置居中,那么您只需将其设置一次,然后使用您想要的位置。