我有一个按钮,它将地图居中,并根据用户的当前位置设置区域,然后将用户跟踪模式设置为跟随。我在移动时跟踪用户,如果他们移动地图或缩小,它会将用户跟踪模式设置为无。
这就是我的东西
guard let currentLocation = locationManager.location else { return }
let coordinateRegion = MKCoordinateRegion(center: currentLocation.coordinate,
latitudinalMeters: regionRadius,
longitudinalMeters: regionRadius)
map.setRegion(coordinateRegion, animated: true)
map.setUserTrackingMode(MKUserTrackingMode.follow, animated: true)它成功地将区域设置回用户的当前位置,然后将用户跟踪模式设置为跟随,但由于某些原因,它不再跟随。
发布于 2019-08-13 08:28:18
您需要等待setRegion动画结束,这样它才不会与setUserTrackingMode打乱。
guard let currentLocation = locationManager.location else { return }
let coordinateRegion = MKCoordinateRegion(center: currentLocation.coordinate, latitudinalMeters: regionRadius, longitudinalMeters: regionRadius)
MKMapView.animate(withDuration: 0.5, animations: {
self.map.setRegion(coordinateRegion, animated: true)
}) { _ in
self.map.setUserTrackingMode(MKUserTrackingMode.follow, animated: false)
}https://stackoverflow.com/questions/56980771
复制相似问题