Получите расстояние между двумя гео-точками

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

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

Я ничего не мог найти в google APIs.

107
задан Chmouel Boudjnah 27 December 2018 в 12:39
поделиться

2 ответа

http://developer.android.com/reference/android/location/Location.html

Посмотрите на distanceTo или distanceBetween. Вы можете создать объект Location по широте и долготе:

Location location = new Location("");
location.setLatitude(lat);
location.setLongitude(lon);
122
ответ дан 24 November 2019 в 03:35
поделиться

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

В зависимости от уровня Если вам нужна точность, вы можете изучить формулы Хаверсина или Винсенти ...

На этих страницах подробно описаны формулы, а для менее склонных к математике также дается объяснение того, как их реализовать в сценарии!

Формула Хаверсина: http://www.movable-type.co.uk/scripts/latlong.html

Формула Винсенти: http://www.movable-type.co.uk /scripts/latlong-vincenty.html

Если у вас возникли проблемы с любым из значений формул, просто прокомментируйте, и я постараюсь ответить на них :)

11
ответ дан 24 November 2019 в 03:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: