CLLocationManager Частота обновления - PullRequest
1 голос
/ 10 января 2012

Я настроил locationManager следующим образом.

_locationManager = [[CLLocationManager alloc] init];
[_locationManager setDelegate:self];
[_locationManager setDesiredAccuracy:kCLLocationAccuracyNearestTenMeters];
[_locationManager setDistanceFilter:kCLDistanceFilterNone];

Когда приложение запускается, я получаю некоторые обновления от методов делегата. И когда я не меняю местоположение, и мобильник стоит около 2 часов, я получаю около 10-12 обновлений в первые 10 минут, а затем прекращаю получать обновления.

Я понимаю, что требуемая точность - это время, в течение которого устройство будет пытаться использовать более точные методы для определения текущего местоположения. Так что в моем случае для достижения желаемой точности требуется около 10 минут.

Я хочу подтвердить, правда ли это. Также есть ли способ получать регулярные обновления информации о местоположении, даже если устройство не двигается?

1 Ответ

5 голосов
/ 10 января 2012

Почему вы ожидаете, что местоположение будет обновлено, если оно не изменилось?

Если вы хотите периодически обновлять результаты, используйте NSTimer, который вы создали сами.


Когда устройство получает местоположение с пределом погрешности <требуемая точность, оноперестанет спрашивать о более точных результатах.Если устройство перемещается, то оно снова начнет спрашивать, пока оно снова не получит местоположение с желаемой точностью. </p>

Если вы указываете 10 м для точности, то вы почти наверняка будете полагаться на GPS- вышки сотовой связи и Wi-Fi не так точны (как правило).

Чтобы определить, переместилось ли устройство, оно использует дистанционный фильтр - задав для него значение none, вы запрашиваете его точность до ближайших 10 м.время - это, вероятно, будет весьма разряжать батарею;)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...