iOS位置重大变化的准确度和距离

10

我想了解低功耗显著位置变化服务的准确性和距离过滤器(即如果我使用startMonitoringSignificantLocationChanges,它的准确度有多高,显著变化的距离是多少)?

我需要一些实时应用程序的实验(非文献)信息。

5个回答

29

我有机会在去年的WWDC与苹果位置工程师交谈,他们向我解释了这一点。

显著位置变化是所有位置监测类型中最不准确的。它仅在进行基站转换或更改时才得到更新。这可能意味着根据用户所在位置的不同,更新的准确性和频率也有所不同。 城市地区有更多的基站,因此更新较为频繁。出城、高速公路等地则只有较少的基站和变化。

这也是最难测试的位置类型,因为您不能使用模拟器。我不确定他们是否已经修复了6.0版的GPX文件,但是在iOS 6之前,显著位置变化API在模拟器中根本无法正常工作。

出于许多原因,我尝试避免使用显著位置变化。有时候这是无法避免的。我最终使用了区域监测API,因为它们更加精确,并且省电。希望这可以帮助到你。


但是,3GS设备支持区域监控吗? - Ahmed Said
区域监控在3GS上不可用。硬件显然支持它,但这是苹果决定不包括它的决定。在我看来,这也相当愚蠢,因为他们将区域监控提供给仅支持WiFi的iPod Touch和iPad,我认为3GS可以处理它。 - Bill Burgess
我最终不得不放弃对3GS的支持。由于它已经停止销售,其数量足够低,可以证明不再支持是有道理的。我可以告诉你,在iPhone 4仍在销售时,这并不是一个受欢迎的决定。 - Bill Burgess
我可以在iPod touch上获得重要位置更改通知吗? - Ab'initio
我不是100%确定,但我认为(在支持的iPod Touch上)应该可以。问题在于模拟器没有提供这些功能,所以你必须在真实设备上测试才能确定。这最多是个棘手的问题。 - Bill Burgess
使用GPX文件无法模拟重大位置变化API的行为--简单来说,地图和GPX文件不知道蜂窝塔的位置。 - Robert Altman

2
来自苹果文档
这个接口只有在检测到与设备相关的基站变化时才会提供新事件,从而减少更新频率并显著降低功耗。
关于确切的精度似乎没有更多具体信息可用,因此我认为您的精度大致等同于iOS设备当前所在区域的基站之间的大约距离(在人口更密集的地区距离更短)。

我已经知道了,我想要一些来自实时应用程序的实验信息。 - Ahmed Said

1
我正在使用Xcode 4.6.2,您确实可以在此模拟器上模拟重大位置更改。在iOS模拟器中,您需要的菜单项是Debug->Location->Freeway Drive。注意事项(欢迎指出我错误的地方):1.经过很长一段时间后,似乎不再有重大的位置更改事件。2.您只能在Cupertino / SF区域内驾驶预定义的路线。如果您所关心的仅是重大的位置更改,那就没问题。

1

我以前需要构建一个应用程序来使用基站的重要位置变化。

简短回答:非常不准确。

我明显越过了我的区域边界。

根据我们在应用程序中观察到的情况,可能会有几百米到几公里的偏差。我们的测试是在城市地区进行的,基站分布于郊区沿着铁路和其他郊区的基站。

相当粗糙。

大部分时间都比较一致。我注意到每次我要进入地下火车站的隧道时,它会触发我为CBD城市地区设置的3个区域交叉通知。


0

注意,虽然您可以访问从重大位置更新获取的位置的速度属性,但它是无用的!模拟器实际上会提供速度,但在真实设备中,由于从基站获取的位置不包括实际速度(不像GPS),因此速度不可用。此外,正如之前所说,位置本身非常不准确,可能会偏离几公里。

请注意这一点。

获取速度的唯一方法是拥有两个CLLocation并手动计算速度。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接