iOS location significant change accuracy and distance
我想知道低功耗显着变化定位服务的精度和距离过滤器(即如果我使用startMonitoringSignificantLocationChanges,它的准确度是多少,显着变化的距离是多少)?
我需要一些来自实时应用的实验性(非纪录片)信息
去年我有机会在 WWDC 上与 Apple 定位工程师交谈,这就是我向我解释的方式。
显着位置变化是所有位置监控类型中最不准确的。它仅在蜂窝塔转换或更改时才获得更新。这可能意味着基于用户所在位置的不同级别的准确性和更新。市区,更多更新,更多塔楼。出城,state际公路,更少的塔楼和变化。
这也是最难测试的位置类型,因为您也不能使用模拟器。我不确定他们是否已修复它以使用 6.0 的 GPX 文件,但重要的位置更改 api 在 iOS 6 之前的模拟器中根本不起作用。
出于许多这些原因,我试图避免使用表示位置更改。有时无能为力。我最终使用了区域监控 API,因为它们更加准确,并且在电池寿命方面也同样出色。希望这会有所帮助。
来自 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 不同)。更如之前所说,位置本身非常不准确,可能会偏离几公里。
请注意这一点。
获得速度的唯一方法是进行两次配置并手动计算速度