以下是获取用户定位的 Delegate
extension MapViewController: CLLocationManagerDelegate {
func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
if let location = locations.first{
let center = CLLocationCoordinate2D(latitude: location.coordinate.latitude, longitude: location.coordinate.longitude)
let span = MKCoordinateSpan(latitudeDelta: 0.075, longitudeDelta: 0.075)
let region = MKCoordinateRegion(center: center, span: span)
self.mapView.setRegion(mapView.regionThatFits(region), animated: false)
locationManager.stopUpdatingLocation()
}
}
}
MKCoordinateSpan 的 latitudeDelta 和 longitudeDelta 数值越小地图的放大系数应该越高,但是有个问题就是用户定位(小蓝点)无法居中,并且放大系数越大,偏移量越大,如下图所示,请问一下大家有什么好的办法解决这个问题?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.