首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在当前位置设置MKMapView地域并跟随用户位置?

如何在当前位置设置MKMapView地域并跟随用户位置?
EN

Stack Overflow用户
提问于 2019-07-11 10:13:43
回答 1查看 148关注 0票数 0

我有一个按钮,它将地图居中,并根据用户的当前位置设置区域,然后将用户跟踪模式设置为跟随。我在移动时跟踪用户,如果他们移动地图或缩小,它会将用户跟踪模式设置为无。

这就是我的东西

代码语言:javascript
复制
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)

它成功地将区域设置回用户的当前位置,然后将用户跟踪模式设置为跟随,但由于某些原因,它不再跟随。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-08-13 08:28:18

您需要等待setRegion动画结束,这样它才不会与setUserTrackingMode打乱。

代码语言:javascript
复制
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)
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56980771

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档