ios - 为什么 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 米。
有什么问题,我该如何解决?
解决方案
我尝试在第一次运行后运行该代码,第二次运行。它只是第一次没有完全缩放。
推荐阅读
- react-native - 如何使用谷歌登录从 AWS cognito 获取访问令牌
- python - 将查询集作为参数传递给 Django 中的 __in?
- cron - Ansible cronjob - 为文件名添加时间戳
- python - CVXPY 在基本二次问题上随机失败
- c# - 如何使用 LINQ 将另一个列表元素的列表类型属性的元素组合到一个列表中
- vscode-extensions - 从 Markdown 预览中的 VS Code Extension API 打开文件
- docker - 如何列出 docker 中所有已知的根密钥(Docker Content Trust)
- python - 在pycharm中创建的gui没有运行?
- reactjs - React JS 在 useEffect 中没有读写到 localStorage 没有错误
- c# - 使用 linq 在 EFcore 中展平 IEnumerable