Как я могу определить, верна ли информация о местоположении, возвращаемая CLLocationManager?

StackOverflow https://stackoverflow.com/questions/465494

Вопрос

Как определить, верна ли информация о местоположении, возвращаемая CLLocationManager?

Это было полезно?

Решение

Две вещи, которые нужно искать, отметка времени и hdop (горизонтальная степень точности). Первый скажет вам, когда было снято чтение, второй скажет вам уровень ошибки в чтении. Например, hdop 1000 скажет вам, что измерение с точностью до 1000 метров. Очевидно, чем ниже hdop, тем лучше.

Они оба в обновлении основного местоположения, которое вы получаете.

Другие советы

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

Одна вещь, которая может помочь некоторым, это проверить временную метку мест, которые вы получаете. Базовое расположение будет кешировать данные, и первым полученным результатом может быть очень старое чтение. Если телефон вообще сдвинулся, это может быть неточно. С другой стороны, это все еще может быть правильно, и вы действительно не можете быть уверены, пока не появятся новые результаты. Тем не менее, часто бывает полезно выбросить любые данные из Базового местоположения, откуда находится временная метка, до запуска вашего приложения - это может быть хорошими данными, но есть хороший шанс, что это не так. Более поздние чтения будут новыми и настолько надежными, насколько их сможет сделать телефон.

Кроме того, если горизонтальная точность отрицательна, то широта и долгота недопустимы.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top