Как вы получаете одноразовое местоположение с заданной точностью? - PullRequest
0 голосов
/ 12 августа 2010

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

[locManager startUpdatingLocation];

и затем я реализую

- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation{
    [locManager stopUpdatingLocation];
}

и у него есть направление куда-то. По некоторым причинам это не обновляет местоположения, когда я еду куда-то. Я бы предположил, что это потому, что он получает «общее местоположение», а затем не имеет достаточно времени, чтобы получить точное чтение. У меня также есть

locManager.desiredAccuracy = kCLLocationAccuracyBestForNavigation;

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

1 Ответ

2 голосов
/ 12 августа 2010

Быстрое решение взлома:

if (newLocation.horizontalAccuracy > 2*locManager.desiredAccuracy) {
  return;
}

Лучшим решением может быть подождать, пока прекратится улучшение точности, усредненное за последние 5 обновлений или около того.

...