Как найти наиболее точные результаты GPS iPhone - PullRequest
1 голос
/ 27 ноября 2009

Я помню, как где-то читал (я забыл, где), что если приложение iPhone просто запускало CLLocationManager один раз, оно не давало наиболее точных результатов.

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

Спасибо за любую помощь!

Ответы [ 2 ]

2 голосов
/ 27 ноября 2009
CLLocationManager *locationManager.desiredAccuracy = kCLLocationAccuracyBest;

Вернет наилучший результат для вас. Метод делегата

- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation

будет продолжать возвращать местоположение пользователя на основе заданных вами настроек точности.

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

Я использую CoreLocation для определения местоположения пользователя, и он достаточно точен для моего использования.

0 голосов
/ 27 ноября 2009

То, что вы прочитали, вероятно, из Руководства по программированию приложений iPhone :

Для получения текущего пользователя местоположение, создать экземпляр Класс CLLocationManager и настройка это с желаемой точностью и пороговые параметры. Начать получение уведомлений о местонахождении, назначить делегата на объект и вызвать метод startUpdatingLocation начать определение текущее местоположение пользователя. Когда новый данные о местоположении доступны, менеджер местоположений уведомляет о назначении делегировать объект. Если обновление местоположения уже доставлен, вы можете также получить самые последние данные о местоположении прямо из CLLocationManager объект, не дожидаясь нового события быть доставленным.

[...]

Проверка метки времени события рекомендуется, потому что расположение сервис часто возвращает последний кешированный Место события сразу. Оно может занять несколько секунд, чтобы получить черновой местоположение исправить, так что старые данные просто служит способом отразить последнее известное местоположение. Вы также можете использовать точность как средство определения хотите ли вы принять событие. По мере получения более точных данных служба определения местоположения может вернуть дополнительные события, с точностью значения отражая улучшения соответственно.

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