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 メートルをはるかに超える領域が表示されます。
何が問題で、どうすれば修正できますか?