Что означают горизонтальная точность и вертикальная точность CLLocation? - PullRequest
38 голосов
/ 13 сентября 2011

Недавно я работал над приложением, основанным на определении местоположения, и заметил некоторые странные значения для CLLocation. Я часто получаю horizontalAccuracy 1414 и verticalAccuracy -1. Любая подсказка, что это указывает? Насколько я могу судить, эти пункты часто бывают очень точными. В чем разница между вертикальной точностью и горизонтальной точностью?

1 Ответ

64 голосов
/ 13 сентября 2011

-1 для verticalAccuracy указывает, что высота в CLLocation недопустима. Вы только получаете высоту с положением 3D GPS.

1414 для horizontalAccuracy указывает, что горизонтальное положение (широта / долгота) может быть на расстоянии до 1414 м (это только приблизительная ошибка). Это, вероятно, местоположение, определенное триангуляцией вышки сотовой связи или данными местоположения WiFi. Местоположения GPS обычно сообщают 100 м или лучше.

Чтобы получить более точное местоположение (300 м или лучше), вам нужно установить desiredAccuracy и подождать, пока приемник GPS не захватит как минимум 3 спутника (или 4 для 3D-определения). Пока это не произойдет, CLLocationManager даст вам лучшее, что у него есть - результаты триангуляции WiFi или сотовой вышки.

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