ios - MKMapView 的 showsUserLocation 是如何工作的?

标签 ios objective-c cocoa-touch mkmapview mapkit

由于mac桌面的模拟器没有定位服务,我无法自己尝试,所以我选择在这里询问。

谷歌地图应用程序可以为您的设备进行连续定位,随着您的移动,您可以看到 map 上的蓝点在移动。 但是我们如何开发能够做到这一点的应用程序呢? 难道只是 (1)在设置中启用设备定位服务。 (2)添加代码:mapView.showsUserLocation = YES;

足以做到这一点?如果是,我们能知道它更新位置的频率吗?

在 CLLocationManager 类及其委托(delegate)上也提出了类似的查询。 startUpdatingLocation 方法如何更新设备的位置?它有多频繁? 而且,startUpdatingLocation 会调用 locationManager: didUpdateToLocation 吗? 前者如何调用后者,后者实现什么?

最佳答案

CLLocationManagerMKMapView 都会使用iPhone 的AGPS。

AGPS 的意思是辅助 GPS,它的工作原理是首先为您的应用提供最后已知的坐标,然后使用三角测量法获取十六进制坐标,然后它会开始获取一些真实的 GPS 坐标。

它将一直跟踪,直到您调用 CLLocationManager 上的 stopUpdatingLocation。没有间隔,只要收到一组新坐标,您就会收到通知。

请注意,继续跟踪 GPS 会耗尽电池电量。

我建议您阅读 CLLocationManager文档。

关于ios - MKMapView 的 showsUserLocation 是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7722682/

相关文章:

ios - 如何禁用 BurSTLy 的控制台日志记录?

ios - 强制用户仅在 ios safari 中打开我的网站

ios - Google Plus iPhone API 无需离开应用程序即可登录和共享

ios - 将 __block 参数传递给类方法(用于获取请求)

iOS XMLParser - 获取网址

ios - 如何使用单独的 Storyboard以编程方式正确设置 UITabBarController

iphone - 自定义 UITableViewCell 宽度在 tableview reloadData 上调整大小

ios - 如何在右侧的自定义 UIButton 的标准 UITableViewCell 中以编程方式自动布局。

objective-c - 用于呈现多个模态的 NSNotificationCenter?

iphone - 如何连接 iPhone 和网络服务并获取 XML 数据?