简体   繁体   中英

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)?

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.

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.

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. Hope this helps.

From the Apple documentation :

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 ).

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.

I'm using Xcode 4.6.2, and you can indeed simulate significant location change on this simulator. In the iOS Simulator, the menu entries you need are 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. 2. You can only drive a pre-defined route in the general Cupertino/SF area. 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). 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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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