Я хочу сделать приложение, которое проверяет ближайшее место, где пользователь. Я могу легко получить местоположение пользователя, и у меня уже есть список мест с широтой и долготой.
Каков был бы лучший способ знать ближайшее место списка против текущего пользовательского местоположения.
Я ничего не мог найти в google APIs.
http://developer.android.com/reference/android/location/Location.html
Посмотрите на distanceTo или distanceBetween. Вы можете создать объект Location по широте и долготе:
Location location = new Location("");
location.setLatitude(lat);
location.setLongitude(lon);
Есть несколько методов, которые вы можете использовать, но чтобы определить, какой из них лучше, нам сначала нужно знать, знаете ли вы высоту пользователя, а также высоту других точек?
В зависимости от уровня Если вам нужна точность, вы можете изучить формулы Хаверсина или Винсенти ...
На этих страницах подробно описаны формулы, а для менее склонных к математике также дается объяснение того, как их реализовать в сценарии!
Формула Хаверсина: http://www.movable-type.co.uk/scripts/latlong.html
Формула Винсенти: http://www.movable-type.co.uk /scripts/latlong-vincenty.html
Если у вас возникли проблемы с любым из значений формул, просто прокомментируйте, и я постараюсь ответить на них :)