Christoph v
Christoph v

Reputation: 475

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

Upvotes: 4

Views: 9242

Answers (1)

progrmr
progrmr

Reputation: 77291

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

Upvotes: 9

Related Questions