startMonitoringSignificantLocationChanges Отсутствие точности

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

В настоящее время я использую startUpdatingLocation CLLocationManager, чтобы получить начальное местоположение GPS с точностью до 100 метров. Это прекрасно работает.

Затем я использую startMonitoringSignificantLocationChanges для CLLocationManager, чтобы определить, достаточно ли далеко перемещался пользователь. Я использую этот метод, поскольку он лучше работает от батареи, может работать в фоновом режиме и т. Д.

Теперь проблема, с которой я столкнулась, – это точность местоположения, возвращаемого при использовании startMonitoringSignificantLocationChanges. Если я просто позволю своему телефону сидеть на своем столе и подождать 10-20 минут, это автоматически закончит задачу из-за точности (или отсутствия) позиции, возвращенной из startMonitoringSignificantLocationChanges. Например:

2011-11-27 20:21:44.653 MyApp[2692:707] Location manager wants 100.000000 meter accuracy 2011-11-27 20:21:44.655 MyApp[2692:707] Location manager got 99.260482 meter accuracy 2011-11-27 20:27:52.975 MyApp[2692:707] visit location: lat 43.619912 long -70.237781 2011-11-27 20:27:52.977 MyApp[2692:707] current location: lat 43.619808 long -70.237561 2011-11-27 20:27:52.981 MyApp[2692:707] moved 21.155182 meters from visit origin 2011-11-27 20:37:53.205 MyApp[2692:707] visit location: lat 43.619912 long -70.237781 2011-11-27 20:37:53.207 MyApp[2692:707] current location: lat 43.628081 long -70.231727 2011-11-27 20:37:53.211 MyApp[2692:707] moved 1030.822457 meters from visit origin 

Все это произошло без моего перемещения устройства на дюйм. Моя догадка в том, что startMonitoringSignificantLocationChanges недостаточно точна, чтобы выполнить это требование. Это так? Или я, возможно, что-то не замечаю?

Любая обратная связь будет оценена. Я не публиковал какой-либо код, но все это довольно простой материал CLLocationManager. Сообщите мне, нужна ли дополнительная информация или фрагменты кода.

Заранее спасибо!

One Solution collect form web for “startMonitoringSignificantLocationChanges Отсутствие точности”

В документах CLLocationManager :

Этот интерфейс [ например, startMonitoringSignificantLocationChanges ] поставляет новые события только тогда, когда он обнаруживает изменения на связанных ячейках сотовой связи устройства, что приводит к менее частым обновлениям и значительному снижению энергопотребления.

Таким образом, маловероятно, чтобы startMonitoringSignificantLocationChanges можно было использовать для проверки местоположения на уровне точности, который вы ищете, – редко startMonitoringSignificantLocationChanges что startMonitoringSignificantLocationChanges башня может вас хорошо локализовать. Возможно, вы захотите попробовать использовать startMonitoringForRegion:desiredAccuracy: вместо этого; он также работает в фоновом режиме и будет выполнять большую часть грязной работы по тестированию региона для вас.

Interesting Posts

Corona SDK system.orientation возвращает неправильное значение на iphone?

Мне действительно нужно создать статическую библиотеку iOS для внутреннего кода?

взаимодействовать с диалоговым окном предупреждения уровня системы в calabash ios

ios – ввод текста в UIWebView textField

Установка UIButton растягивает фоновые изображения в Interface Builder (XCode 4)

UIImagePickerViewController в ландшафтном режиме

Разделить аудиопрограмму в активном VoiceChat AVAudioSession для воспроизведения на AirPlay, но запись с помощью устройства

Почему приложение неожиданно не строит и не жалуется на ошибки «ld» и «clang»?

Размер рамки UIView не изменил UIImageView, помещенный внутри него

Push-уведомление не принимается на устройстве

Масштаб CGPath подходит для UIVIew

Рекомендации пользователей для пользователей iOS

Уведомление в Swift каждый день в установленное время?

Обработка ошибок / исключений в методе, который возвращает bool

Как установить XCode 4.5GM поверх магазина приложений xcode 4.4.1?

PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.