Интервал обновления диспетчера местоположений - PullRequest
1 голос
/ 24 июля 2011

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

Спасибо.

1 Ответ

0 голосов
/ 31 июля 2011

Я сделал это с таймером:

в заголовке добавить:

ServerInterface *serverInterface;

в файле .m:

- (void)viewDidLoad
{
...
[frequentLocationUpdateTimer invalidate];
frequentLocationUpdateTimer = [NSTimer scheduledTimerWithTimeInterval:30 target:self selector:
               @selector(reEnableLocationTick:) userInfo:nil repeats:YES];
...
}
- (void)reEnableLocationTick:(NSTimer *)theTimer
{
    [locationGetter startUpdates]; //Maybe you have to change this line according to your code
} 

и в вашем менеджере местоположений...:

- (void)locationManager:(CLLocationManager *)manage didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation
{
    ...

        if (newLocation.horizontalAccuracy < 100)
    {
        [locationManager stopUpdatingLocation];  
    } 
    ...

    // let our delegate know we're done
    [delegate newPhysicalLocation:newLocation];
}

Код просто перестает обновлять местоположение после достижения минимальной точности 100м.Затем каждые 30 секунд таймер снова включает диспетчер местоположения.

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