Нужна задержка для ожидания GPS - PullRequest
1 голос
/ 02 июня 2011

Используя iPhone и цель C, есть ли способ остановить или выполнить цикл синхронизации, чтобы позволить GPS догнать и вернуть действительный набор координат?

В настоящее время приложение работает слишком быстро, и GPS не может предоставить координаты достаточно быстро ...

Ответы [ 4 ]

4 голосов
/ 02 июня 2011

Поскольку вы сказали, что используете iPhone, вы используете CLLocationManager. Просто установите делегата в диспетчере и подождите, пока сообщение locationManager:didUpdateToLocation:fromLocation: узнает, когда данные GPS будут готовы.

0 голосов
/ 02 июня 2011

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

В iOS создайте реализацию CLLocationManagerDelegate , как написала Аноми. И используйте метку времени обновления, чтобы оценить свежесть местоположения.

Не спи и не голосуй, как предлагали другие люди.

0 голосов
/ 02 июня 2011

Предполагая, что ваш опрос GPS выполняется в потоке, отличном от пользовательского интерфейса, вы можете вызывать статические функции NSThread sleepForTimeInterval или sleepUntilDate из потока, который ожидает данные GPS.

0 голосов
/ 02 июня 2011

Либо блокируйте ожидание данных, либо ничего не обновляйте, если данные не получены. Конечно, есть usleep(), но без указания кода и, в частности, того, как выполняется ваш цикл и каким механизмом (с поточностью или без него) мы можем ответить только в общих чертах.

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