userLocation 与 CLLocation 如此不同

Posted

技术标签:

【中文标题】userLocation 与 CLLocation 如此不同【英文标题】:userLocation so different to CLLocation 【发布时间】:2014-06-24 06:05:26 【问题描述】:

我正在使用 CoreLocation 来绘制我的纬度/经度。这在附图中显示为荷马 (http://i.imgur.com/IRRwOS0.png)。我有kCLLocationAccuracyBest 设置:

self.locMgr.distanceFilter = kCLDistanceFilterNone;
self.locMgr.desiredAccuracy = kCLLocationAccuracyBest;

当我在地图(蓝点)上启用 userLocation 时,准确度之间似乎存在很大差异。蓝点对我的实际位置更准确。

    如何提高 CoreLocations 的准确性,以使我的 MKAnnotations 更接近我的实际位置? 为什么会出现这种错误? userLocation 是基于 wifi,而 Homer 是 GPS?

截图:

【问题讨论】:

如何将荷马添加到地图中?用什么方法?在添加 Homer 之前,您可能需要检查用户位置时间戳和/或水平精度。 wifi 开启了吗?你在中国吗? 【参考方案1】:

    实现 mapView:didUpdateUserLocation 并在其中将注释位置设置为等于 mapView 的 userLocation。

    我不完全确定,但我认为这可能是由于 mapview 使用了私有的定位框架。

【讨论】:

【参考方案2】:

中国会抵消 GPS 的注释,而不是用户当前位置。更多信息可以在这里找到:

http://www.sinosplice.com/life/archives/2013/07/16/a-more-complete-ios-solution-to-the-china-gps-offset-problem

【讨论】:

以上是关于userLocation 与 CLLocation 如此不同的主要内容,如果未能解决你的问题,请参考以下文章

iOS CLLocation 属性不保留值

这段代码是做啥的? [关闭]

计算两个位置之间的方位角

[CLLocation] 和 CLLocation 的区别

iOS MapKit 与CLLocation 获取的位置不同

PHAsset CLLocation 未提供与照片应用相同的位置