Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

iphone core location: distance filter how does it work?

What exactly the property locationmanager.distancefilter do? Does it determine how often the didUpdateTolocation method gets called??

like image 511
Christoph v Avatar asked Jan 21 '23 16:01

Christoph v


1 Answers

It filters out short moves. So if CL detects that the device moved 20 meters, but your distance filter is set to 30m you will not be notified. Once the position has moved enough to exceed your distance filter setting then you will get a didUpdateToLocation callback.

It is very common for GPS position results to wander even when a device isn't moving. You can be standing still but if the position accuracy is +/- 10 meters, the reported position can change up to 20m even though the device didn't move. Using distanceFilter allows you to filter out that kind of extraneous motion.

If you want to know more, take a look at my implementation of distanceFilter in my CLLocationManager-simulator, just below the comment "Apply distanceFilter".

like image 131
progrmr Avatar answered Feb 11 '23 04:02

progrmr