Период ожидания для базовой локации для правильной работы - PullRequest
2 голосов
/ 04 марта 2011

Я использую базовое местоположение для определения местоположения пользователя через iphone. Теперь, когда приложение запускается и я захожу [locationManager startUpdatingLocation], появляется окно с текстом «Приложение хотело бы использовать ваше текущее местоположение». В идеале я бы хотел начать тайм-аут, когда пользователь нажимает OK в этом окне предупреждения. Очевидно, что нет способа перехватить ответ на окно оповещения, поэтому я запускаю таймер, как только приложение запускается со временем ожидания 10 с. Конечно, это означает, что если пользователь не нажимает кнопки на окне оповещения как раз вовремя, таймер истекает, и на этом процесс определения местоположения заканчивается. Причина таймера тайм-аута заключается в том, что время от времени приложению требуются более длительные периоды времени для определения местоположения пользователя, даже под чистым небом.

Итак, я думаю, что я спрашиваю, каким должен быть идеальный период ожидания для основных служб определения местоположения, учитывая, что таймер и служба определения местоположения оба запускаются при запуске приложения?

1 Ответ

1 голос
/ 09 марта 2011

Трудно дать общий совет, потому что это действительно зависит от точности и свежести данных, которые вы хотите.Как правило, вы будете получать несколько обновлений основного местоположения разного возраста и точности.Обычно вы сначала получаете старое, кэшированное местоположение.Тогда вы будете получать обновления на основе WiFi и триангуляции вышек сотовой связи.Обновление GPS занимает больше всего времени и зависит от ясного неба.Так что, если вы в порядке с кэшированным обновлением местоположения с точностью до вышки сотовой связи (~ 3 км), то обычно вам не нужно долго ждать.20 секундный перерыв должен быть абсолютно нормальным.Конечно, все обстоит иначе, если вы хотите охватить случай «без носителя» и, таким образом, зависит от GPS.

...