2017-01-21 15 views
1

как я могу рассчитать расстояние между списком местоположений от местоположения пользователя, а затем отобразить список в отсортированном порядке местоположения, указав, сколько миль это местоположение от пользователя. Что-то вроде ниже;Расчет расстояния между местами и местоположением пользователя Android Studio

enter image description here

Я не знаю, как я могу это сделать в Java/Android

Я понимаю, для этого нужно использовать алгоритм сортировки, чтобы отсортировать список в порядке ближайшего расстояния и написать сравнение алгоритм, который сравнивает данные почтовые индексы. Я не уверен, как я могу это сделать в Java/Android. Я потратил время на поиск в Интернете, но не смог найти/подобрать то, что нашел, цель которого я пытаюсь достичь. Любая помощь или руководство было бы очень приятно.

Кроме того, я не уверен, как пройти мили между двумя точками.

ответ

0

Этот код рассчитывает расстояние между 2 точками. Улучшите его для n мест и найдите максимальное значение.

Location loc1 = new Location(""); 
loc1.setLatitude(lat1); 
loc1.setLongitude(lon1); 

Location loc2 = new Location(""); 
loc2.setLatitude(lat2); 
loc2.setLongitude(lon2); 

float distanceInMeters = loc1.distanceTo(loc2); 

Проверьте это: https://developer.android.com/reference/android/location/Location.html#distanceTo(android.location.Location)

+0

с места до ближайшего пользователя или от пользователя до ближайшего места? –

+1

Идея что-то вроде этого. Инициализировать переменную minDist = currentLocation.distanceTo (locationOfTheFirstPlace) и для (i = 1; i

+0

, обновите вопрос и поместите свой код –