[英]How do you set MKMapView region on current location and follow user location?
我有一個按鈕,可將地圖居中並根據用戶的當前位置設置區域,然后設置要遵循的用戶跟蹤模式。 我在移動時關注用戶,如果他們移動地圖或縮小地圖,則會將用戶跟蹤模式設置為無。
這就是我所擁有的
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)
它成功地將區域設置回用戶的當前位置,然后遵循用戶跟蹤模式,但是由於某種原因,該模式不再遵循。
您需要等待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)
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.