Отметка времени и координаты CLLocationManager

Я столкнулся с некоторыми проблемами при использовании основного местоположения в IOS. Я не могу понять, как все это работает... пожалуйста, помогите.

Сценарий: iPhone с включенными службами определения местоположения. Беспроводная связь и 3G не включены. iPhone в здании, куда GPS не может добраться.

Я создал свою собственную программу и использую основные функции определения местоположения, следуя примеру LocateMe. Я знаю, что после вызова startUpdatingLocation будет вызываться didUpdateToLocation с последними полученными GPS-координатами, даже если они устарели. У меня есть 2 вопроса:

1) В didUpdateToLocation, когда я распечатываю newLocation.timestamp, отображается системное время iphone. Я проверяю это, изменяя дату и время в настройках iphone. Когда функция активирована, newLocation.timestamp будет хранить системную дату и время iphone. Почему newLocation сохраняет системное время, когда не может получить местоположение GPS? В любом случае, чтобы определить действительность отметки времени и проверить, получена ли она от GPS или системы?

2) Поскольку отметка времени, которую я получил, является системным временем, как мне определить, являются ли координаты обновленной отметкой времени? Достаточно ли примера LocateMe для решения этой проблемы?

Спасибо!


person user510951    schedule 03.01.2011    source источник


Ответы (1)


Core Location вставляет текущее системное время при получении нового обновления местоположения из любого источника. iPhone не использует время GPS, отправленное спутниками.

Обычно вы вычисляете разницу во времени между «сейчас» и отметкой времени CLLocation, чтобы узнать, насколько свежим является обновление. IME, кэшированные результаты отправляются для всех трех методов определения местоположения (если они доступны).

Нет прямого указания на источник обновления местоположения. Однако есть некоторые подсказки: высота, вертикальная точность и скорость устанавливаются только для обновлений GPS. Обновления WiFi обычно находятся в диапазоне горизонтальной точности 60 м, тогда как обновления вышек сотовой связи -> 500 м.

person Ortwin Gentz    schedule 14.04.2011