расположение ядра iphone: дистанционный фильтр, как это работает? - PullRequest
4 голосов
/ 27 июля 2010

Что именно делает собственность locationmanager.distancefilter?Определяет ли он, как часто вызывается метод didUpdateTolocation ??

1 Ответ

9 голосов
/ 27 июля 2010

Отфильтровывает короткие ходы.Поэтому, если CL обнаружит, что устройство переместилось на 20 метров, но ваш дистанционный фильтр установлен на 30 метров, вы не будете уведомлены.Как только позиция сместится достаточно, чтобы превысить настройку фильтра расстояния, вы получите обратный вызов didUpdateToLocation.

Очень часто результаты GPS-координат отклоняются, даже когда устройство не движется.Вы можете стоять на месте, но если точность определения местоположения составляет +/- 10 метров, заявленное положение может измениться до 20 метров, даже если устройство не двигалось.Использование distanceFilter позволяет отфильтровывать такие посторонние движения.

Если вы хотите узнать больше, взгляните на мою реализацию distanceFilter в моем CLLocationManager-simulator , чуть ниже комментария "Apply distanceFilter".

...