我正在開發一個Android應用程序。從我們的位置找到位置最近的位置
我從服務器獲取緯度和經度的列表。
我必須根據我的位置安排這些值。我的意思是最接近的經度/緯度,然後是下一個等。
我有我的經緯度和緯度和經度的列表。我怎樣才能找到最近的一個?
我正在開發一個Android應用程序。從我們的位置找到位置最近的位置
我從服務器獲取緯度和經度的列表。
我必須根據我的位置安排這些值。我的意思是最接近的經度/緯度,然後是下一個等。
我有我的經緯度和緯度和經度的列表。我怎樣才能找到最近的一個?
這可能不是最好的方式,但它的工作原理:)
public static final double PI = 3.14159265;
public static final double deg2radians = PI/180.0;
public static final double miles = 0.000621371192;
public static final double kms = 0.001;
public static double getDistance(double latitude1, double longitude1, double latitude2,double longitude2) {
double distance;
Location locationA = new Location("point A");
locationA.setLatitude(latitude1);
locationA.setLongitude(longitude1);
Location locationB = new Location("point B");
locationB.setLatitude(latitude2);
locationB.setLongitude(longitude2);
distance = locationA.distanceTo(locationB);
double radd = distance * kms;
return radd;
}
僞代碼:
location.distanceTo(locFromServer); and for the sorting Colection.sort(listOfLocations;new Comparator(){ compareTo(){ // location.distanceTo(locFromServer) } }
你可以簡單地計算出用戶的位置的距離,以下載的位置,並選擇最小的一個。
看看這裏:Quicker way to calculate geographic distance between two points。
位置,意味着我的地理位置對象..right ??? ..... locFromServer指地理位置我必須從服務器IDE緯度創建和經度..右? – sarath
是與位置服務提供的類型相同的類型我現在無法測試代碼,但您可以創建具有特定緯度/經度的位置對象或稍後設置它 – sherif