2009-08-14 5 views
0

Есть ли у кого-нибудь предложения по получению наилучшей точности по горизонтали в диспетчере местоположений? Я установил желаемую точность NearestTenMeters, но учитывая, что точность всегда может меняться в зависимости от зоны покрытия, как я могу написать какой-то код в locationManager, чтобы прекратить обновление только после того, как я получу наилучшую горизонтальную точность?CLLocationManager обеспечивает лучшую точность для iphone

ответ

0

Как правило, чем дольше аппаратная часть включена, тем больше мест она становится более точной. Вы можете попытаться включить менеджера раньше, чтобы он стал точным, а затем захватил место. Это также помогает, когда цель движется, чип может получать более точные показания при движении gps. Кроме того, расположение устройства делает разницу, вы получите гораздо лучше читаете, если находитесь вне поля, чем если вы находитесь в бункере, поэтому иногда чтение, которое вы получаете, является лучшим из доступных. Ваш код может подождать, пока он не получит больше обновлений от диспетчера местоположений в течение некоторого времени, а затем, вероятно, с его максимальной точностью.

1

Если вы хотите быть в определенной точностью установить метод делегата

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

иметь

if(newLocation.horizontalAccuracy <= (some number)) 
    [locationManager stopUpdatingLocation]; 

что-то подобное.

Смежные вопросы