Android: как получить наиболее точное местоположение с GPS - PullRequest
2 голосов
/ 22 ноября 2010

Я использовал этот код

locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,
                500, 50, this);

, чтобы узнать мое местоположение с помощью GPS. Из того, что я понял, этот код обновляет GPS каждые 500 миллисекунд, пока точность не будет около 50 мс. Правильно? Теперь, как я узнаю, когда он достиг этой точности? Так что я могу отправить наиболее точное местоположение в текстовом сообщении.

1 Ответ

4 голосов
/ 22 ноября 2010

500 - минимальный интервал для уведомлений и является только подсказкой.

Как видно из javadocs :

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

Таким образом, вы можете (и будете) видеть изменения в этом интервале (LocationListener не всегда будетвызываться с точным интервалом в 500 мс)

50 - это minDistance и в соответствии с документацией: минимальный интервал расстояния для уведомлений в метрах.Так что это не влияет на точность, оно только определяет триггер для обновлений местоположения.(если вы перемещаете minDistance, то срабатывает триггер).Таким образом, это не влияет на точность.

Тем не менее, ваш Locationlistener вернет android.location.Location, и это показывает точность (точность исправления в метрах)

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