2016-01-19 2 views
1

Я использую CLLocationManager для получения координаты местоположения.iOS Как правильно знать координату

Я с помощью

- (void)locationManager:(CLLocationManager *)manager 
    didUpdateLocations:(NSArray *)locations{ 
    [locations lastObject] 
    ... 
} 

Они могут получить последнее место.

Но я нашел, если мы получим последний объект в исходном.

Местоположение не является координатой, которая будет дрейфовать.

В течение некоторого времени координата будет сходиться к точке.

Но как я могу узнать, что значение действительно находится в текущем месте сейчас?

большое спасибо.

ответ

1

Вы можете использовать horizontalAccuracy и verticalAccuracy свойства ваших CLLocation объектов, чтобы узнать точность измерения.

В соответствии с Apple docs:

horizontalAccuracy:

Радиус неопределенности для местоположения, измеренной в метрах. (только для чтения)

широта расположение и долгота определить центр окружности, и это значение указывает радиус этого круга. Отрицательное значение указывает на то, что местоположение не ограничено широтой и долготой.

verticalAccuracy:

Точность значения высоты в метрах. (только для чтения)

Значение в собственности на высоту может быть быть положительным или отрицательным значением, указанным по этому объекту. Отрицательное значение указывает, что значение высоты недействительно.

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

+1

... или такой же точный, как и когда-либо! Не ждите, пока неопределенность достигнет нуля. – Russell

+0

«Радиус неопределенности для местоположения» означает почти ничего. Спасибо iOS документации. Кто-нибудь знает конкретно/количественно, что это значит? Вероятно, это что-то вроде «68% -ного доверительного интервала в местоположении» или что-то в этом роде. Было бы здорово узнать конкретно. – rysqui

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