iOS位置显着改变精度和距离
iOS location significant change accuracy and distance
我想知道低功耗显着变化定位服务的精度和距离过滤器(即如果我使用startMonitoringSignificantLocationChanges,它的准确度是多少,显着变化的距离是多少)?
我需要一些来自实时应用的实验性(非纪录片)信息
去年我有机会在 WWDC 上与 Apple 定位工程师交谈,这就是我向我解释的方式。
显着位置变化是所有位置监控类型中最不准确的。它仅在蜂窝塔转换或更改时才获得更新。这可能意味着基于用户所在位置的不同级别的准确性和更新。市区,更多更新,更多塔楼。出城,state际公路,更少的塔楼和变化。
这也是最难测试的位置类型,因为您也不能使用模拟器。我不确定他们是否已修复它以使用 6.0 的 GPX 文件,但重要的位置更改 api 在 iOS 6 之前的模拟器中根本不起作用。
出于许多这些原因,我试图避免使用表示位置更改。有时无能为力。我最终使用了区域监控 API,因为它们更加准确,并且在电池寿命方面也同样出色。希望这会有所帮助。
相关讨论
- 但是区域监控可用于 3GS 设备吗?
- 区域监控不适用于 3GS。硬件显然支持它,但苹果决定不包括它。它也是非常愚蠢的 IMO,他们为仅 WiFi 的 iPod Touch 和 iPad 提供了区域监控,我认为 3GS 可以处理它。
- 我最终不得不放弃对 3GS 的支持。不是不再出售,数字足够低,足以证明不支持。我可以告诉你,当 iPhone 4 还在销售时,这并不是一个受欢迎的决定。
- 我可以在 iPod touch 上获得重要的位置更改通知吗?
- 我不是 100% 肯定,我会这么认为(在受支持的 iPod Touch 上)。问题是模拟器不提供这些,因此您必须在真实设备上进行测试才能充其量是棘手的。
- 使用 GPX 文件不会模拟重要的位置更改 API 行为——简单地说,地图和 GPX 文件不知道蜂窝塔在哪里。
来自 Apple 文档:
This interface delivers new events only when it detects changes to the
device’s associated cell towers, resulting in less frequent updates
and significantly lower power usage.
似乎没有关于准确度的更具体信息,所以我假设您的准确度大致相当于 iOS 设备当前所在区域内的蜂窝塔之间的大致距离(其中在人口较多的地区较短)。
相关讨论
- 我已经知道了,我想要一些来自实时应用程序的实验性信息
我使用的是 Xcode 4.6.2,你确实可以在这个模拟器上模拟显着的位置变化。
在 iOS 模拟器中,您需要的菜单项是 Debug->Location->Freeway Drive。
警告(我欢迎被告知我错了):
1. 很长一段时间后,似乎没有更明显的位置变化事件。
2. 您只能在一般库比蒂诺/SF 区域内驾驶预先定义的路线。如果您只关心重大的位置变化,那没关系。
当时我必须构建一个应用程序,该应用程序使用蜂窝塔显着位置变化。
简答:非常不准确。
我显然越过了我所在地区的界限。
根据我们在应用中观察到的情况,它可能在几百米到几公里之外。我们的测试是在市区,郊区的手机信号塔与火车Rails和其他郊区手机信号塔平行。
相当粗糙。
大部分时间都是一致的。我注意到每次我要进入通往地下火车站的隧道时,它都会触发我为 CBD 市区设置的 3 个区域穿越通知。
请注意,虽然您可以访问从重大位置更新获得的位置的速度属性,但它没有用!模拟器实际上给出了速度,但在真实设备中速度不可用,因为从手机信号塔获得的位置不包括实际速度(与 GPS 不同)。更如之前所说,位置本身非常不准确,可能会偏离几公里。
请注意这一点。
获得速度的唯一方法是进行两次配置并手动计算速度