2012-05-16 132 views
0

我正在開發一個Android應用程序。從我們的位置找到位置最近的位置

我從服務器獲取緯度和經度的列表。

我必須根據我的位置安排這些值。我的意思是最接近的經度/緯度,然後是下一個等。

我有我的經緯度和緯度和經度的列表。我怎樣才能找到最近的一個?

回答

1

這可能不是最好的方式,但它的工作原理:)

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; 
    } 
1

僞代碼:

 

location.distanceTo(locFromServer); 
and for the sorting 
Colection.sort(listOfLocations;new Comparator(){ 
compareTo(){ 
// location.distanceTo(locFromServer) 
} 
} 
+0

位置,意味着我的地理位置對象..right ??? ..... locFromServer指地理位置我必須從服務器IDE緯度創建和經度..右? – sarath

+0

是與位置服務提供的類型相同的類型我現在無法測試代碼,但您可以創建具有特定緯度/經度的位置對象或稍後設置它 – sherif