-1

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 メートル x 20 メートルをはるかに超える領域が表示されます。

何が問題で、どうすれば修正できますか?

4

2 に答える 2