MKMapView 的 showUserLocation 是如何工作的?

Posted

技术标签:

【中文标题】MKMapView 的 showUserLocation 是如何工作的?【英文标题】:How does MKMapView's showsUserLocation work? 【发布时间】:2011-10-11 07:28:34 【问题描述】:

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

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

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

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

【问题讨论】:

【参考方案1】:

CLLocationManagerMKMapView 都将使用 iPhone 的 AGPS。

AGPS 表示辅助 GPS,它首先为您的应用提供最后知道的坐标,然后使用三角测量十六进制坐标,然后它会开始获取一些真实的 GPS 坐标。

它会一直跟踪直到您在CLLocationManager 上拨打stopUpdatingLocation。没有间隔,您只会在收到一组新坐标时收到通知。

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

我建议你阅读CLLocationManager 文档。

【讨论】:

以上是关于MKMapView 的 showUserLocation 是如何工作的?的主要内容,如果未能解决你的问题,请参考以下文章

MKMapView 重置回世界视图:重新烘焙

MKMapView 和响应者链

在 MKMapView 中释放缓存

加载 MKMapView 时崩溃

没有锚的popover segue,MKMapView

有啥办法可以改变 MKMapView 的外观吗?