简体   繁体   English

iOS位置显着改变准确性和距离

[英]iOS location significant change accuracy and distance

I want to know the accuracy and the distance filter of the low-power significant change location service (ie if I use startMonitoringSignificantLocationChanges how much it's accurate, and what is the distance of the significant change)? 我想知道低功耗重要变化定位服务的准确性和距离过滤器(即如果我使用startMonitoringSignificantLocationChanges准确度多少,重要变化的距离是多少)?

I need some experimental (non documentary) info from real time apps 我需要一些来自实时应用的实验性(非纪录片)信息

I had a chance to speak with the Apple Location Engineers at WWDC this past year and this is how it was explained to me. 去年我有机会在WWDC与Apple位置工程师交谈,这就是我向他解释的原因。

The significant location change is the least accurate of all the location monitoring types. 重要的位置变化是所有位置监控类型中最不准确的。 It only gets its updates when there is a cell tower transition or change. 它只在单元塔转换或更改时才会获得更新。 This can mean a varying level of accuracy and updates based on where the user is. 这可能意味着不同级别的准确性和基于用户所在位置的更新。 City area, more updates with more towers. 城市区域,更多塔更新更新。 Out of town, interstate, fewer towers and changes. 离开城镇,州际公路,更少的塔楼和变化。

This is also the hardest location type to test for since you can't use the simulator either. 这也是最难测试的位置类型,因为您也无法使用模拟器。 I'm not sure if they have fixed it to work with the GPX files for 6.0, but the significant location change api did not work at all in the simulator prior to iOS 6. 我不确定他们是否已修复它以使用6.0的GPX文件,但重要的位置更改api在iOS 6之前的模拟器中根本不起作用。

I have tried to avoid using the signification location change for many of these reasons. 由于这些原因,我试图避免使用意义上的位置变化。 Sometimes it can't be helped. 有时它无法帮助。 I ended up using the region monitoring API's as they are far more accurate and just as good on battery life. 我最终使用了区域监控API,因为它们更准确,并且电池寿命也更好。 Hope this helps. 希望这可以帮助。

From the Apple documentation : 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. 此接口仅在检测到设备关联的单元塔的更改时才会发送新事件,从而减少更新频率并显着降低功耗。

There doesn't appear to be much more specific information available about the exact accuracy, so I would assume you have accuracy roughly equivalent to the approximate distance between cell towers in the area that the iOS device is currently located in (which is shorter in more highly populated areas ). 似乎没有更多关于精确准确度的具体信息,因此我假设您的准确度大致相当于iOS设备当前所在区域中的手机信号塔之间的大致距离( 更短的更多)人口密集的地区 )。

I had to build an app back then that uses cell tower significant location changes. 我不得不建立一个应用程序,然后使用单元塔重要的位置变化。

Short answer: very inaccurate. 简短回答:非常不准确。

I was clearly crossing the boundaries of my region. 我显然跨越了我所在地区的边界。

From what we observe in our app, it can be a few hundred metres to a few kilometres off. 从我们在应用程序中观察到的情况来看,它可以是几百米到几公里。 Our testing was in the city area, cell towers in suburbs parellel to the train tracks and other suburban cell towers. 我们的测试是在市区,郊区的电池塔,火车轨道和其他郊区的蜂窝塔。

Pretty rough. 非常粗糙。

It was consistent most of the time. 大部分时间都是一致的。 I notice that every time I was about to go into the tunnel to the underground train station, it would fire off my 3 region crossing notifications that I have setup for the CBD city area. 我注意到,每次我要进入通往地下火车站的隧道时,它都会触发我为CBD市区设置的3个地区的通知。

I'm using Xcode 4.6.2, and you can indeed simulate significant location change on this simulator. 我正在使用Xcode 4.6.2,你可以在这个模拟器上模拟显着的位置变化。 In the iOS Simulator, the menu entries you need are Debug->Location->Freeway Drive. 在iOS模拟器中,您需要的菜单项是Debug-> Location-> Freeway Drive。 Caveats (I welcome being told I'm wrong): 1. After a long while, there seem to be no more significant location change events. 警告(我很高兴被告知我错了):1。很长一段时间后,似乎没有更重要的位置变化事件。 2. You can only drive a pre-defined route in the general Cupertino/SF area. 2.您只能在Cupertino / SF一般区域内驾驶预定路线。 If all you care about is significant location change, that's fine. 如果您关心的是重要的位置变化,那很好。

Be careful, although you can access the speed property of the location got from the significant location update, it's useless! 要小心,虽然你可以访问从重要位置更新获得的位置的速度属性,但它没用! the simulator actually gives the speed but in real devices the speed is not available because location got from cell towers will not include the actual speed(unlike GPS). 模拟器实际上提供了速度,但在实际设备中速度不可用,因为从蜂窝塔获得的位置将不包括实际速度(与GPS不同)。 more the that as said before the location itself is very inaccurate it can be a few km off. 更多的是在位置本身之前所说的非常不准确,它可以是几公里关闭。 Be aware of that. 要注意这一点。 The only way to get the speed is have two cllocation and compute the speed manually 获得速度的唯一方法是有两个cllocation并手动计算速度

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM