Mapkit - Swift4 - 如何禁用自动缩放

时间:2018-06-15 19:40:24

标签: ios swift mapkit zooming

为这个荒谬的初级问题道歉,但出于某种原因,我无法掌握如何阻止这种情况发生。

当我运行应用程序,并且我捏缩放到地图(或向外,或离开我的位置)时,应用程序将始终将我拉回到设定的高度和我的位置。我希望不会发生这种情况,只是拥有缩放到任何级别并在不被打断的情况下四处移动的体验。

有什么想法吗?

这是我VC的代码片段:

let regionRadius: CLLocationDistance = 2000
func centerMapOnLocation(location: CLLocation) {
let coordinateRegion = MKCoordinateRegionMakeWithDistance(location.coordinate, regionRadius, regionRadius)

    mapView.setRegion(coordinateRegion, animated: true)
}


func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {

    let location = locations[0]

    let center = location.coordinate
    let span = MKCoordinateSpan(latitudeDelta: 0.05, longitudeDelta: 0.05)
    let region  = MKCoordinateRegion(center: center, span: span)

    mapView.setRegion(region, animated: true)
    mapView.showsUserLocation = true

}

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

可以非常频繁地随时调用位置管理器委托方法。所以你需要停止更新位置。

func locationManager(manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
    manager.stopUpdatingLocation()
    manager.delegate = nil

    let location = locations[0]
    ...
}