首页 > 解决方案 > 为什么 MKCoordinateRegion 不会显示小区域?

问题描述

我有以下代码将 MKCoordinateRegion 设置为 MKMapView:

override func viewDidLoad() {
    super.viewDidLoad()

    mapView.showsUserLocation = true
    mapView.setUserTrackingMode(.followWithHeading, animated: true)

    currentLocationCoordinateRegion = MKCoordinateRegion(center: mapView.userLocation.coordinate, latitudinalMeters: 25, longitudinalMeters: 25)
    mapView.setRegion(currentLocationCoordinateRegion, animated: true)

    locationManager.desiredAccuracy = kCLLocationAccuracyBestForNavigation
    locationManager.distanceFilter = kCLDistanceFilterNone

    let status = CLLocationManager.authorizationStatus()

    if status == .authorizedAlways || status == .authorizedWhenInUse, status == .restricted {

    } else {

        locationManager.requestAlwaysAuthorization()

    }

}

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

    if currentLocationCoordinateRegion == nil {

        currentLocationCoordinateRegion = MKCoordinateRegion(center: mapView.userLocation.coordinate, latitudinalMeters: 25, longitudinalMeters: 25)

        mapView.setRegion(currentLocationCoordinateRegion, animated: true)

    }

}

但是,地图视图显示的区域远大于 20 米乘 20 米。

有什么问题,我该如何解决?

标签: iosswiftmapkitmkcoordinateregion

解决方案


我尝试在第一次运行后运行该代码,第二次运行。它只是第一次没有完全缩放。


推荐阅读