由于mac桌面的模拟器没有定位服务,我无法自己尝试,所以我选择在这里询问。
谷歌地图应用程序可以为您的设备进行连续定位,随着您的移动,您可以看到 map 上的蓝点在移动。 但是我们如何开发能够做到这一点的应用程序呢? 难道只是 (1)在设置中启用设备定位服务。 (2)添加代码:mapView.showsUserLocation = YES;
足以做到这一点?如果是,我们能知道它更新位置的频率吗?
在 CLLocationManager 类及其委托(delegate)上也提出了类似的查询。 startUpdatingLocation 方法如何更新设备的位置?它有多频繁? 而且,startUpdatingLocation 会调用 locationManager: didUpdateToLocation 吗? 前者如何调用后者,后者实现什么?
最佳答案
CLLocationManager
和MKMapView
都会使用iPhone 的AGPS。
AGPS 的意思是辅助 GPS,它的工作原理是首先为您的应用提供最后已知的坐标,然后使用三角测量法获取十六进制坐标,然后它会开始获取一些真实的 GPS 坐标。
它将一直跟踪,直到您调用 CLLocationManager
上的 stopUpdatingLocation
。没有间隔,只要收到一组新坐标,您就会收到通知。
请注意,继续跟踪 GPS 会耗尽电池电量。
我建议您阅读 CLLocationManager
文档。
关于ios - MKMapView 的 showsUserLocation 是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7722682/