2015-05-20 90 views
0

我創建使用鈦Appcelerator的的Android & IOS的應用程序。排序地理位置點,我點鈦

我只是有一個緯度值數組,我想排序最接近我指定的經度和緯度的數組。 我怎樣才能得到這些values.Pleasae的幫助。

回答

0

,你可以用它來計算兩者之間的距離Lat Long網:

function distance(lat1, lon1, lat2, lon2, unit) { 
    var radlat1 = Math.PI * lat1/180 
    var radlat2 = Math.PI * lat2/180 
    var radlon1 = Math.PI * lon1/180 
    var radlon2 = Math.PI * lon2/180 
    var theta = lon1-lon2 
    var radtheta = Math.PI * theta/180 
    var dist = Math.sin(radlat1) * Math.sin(radlat2) + Math.cos(radlat1) * Math.cos(radlat2) * Math.cos(radtheta); 

    dist = Math.acos(dist) 
    dist = dist * 180/Math.PI 
    dist = dist * 60 * 1.1515 

    if (unit=="K") { dist = dist * 1.609344 } 
    if (unit=="N") { dist = dist * 0.8684 } 
    return dist 
} 

//::: Passed to function:             ::: 
//::: lat1, lon1 = Latitude and Longitude of point 1 (in decimal degrees) ::: 
//::: lat2, lon2 = Latitude and Longitude of point 2 (in decimal degrees) ::: 
//::: unit = the unit you desire for results        ::: 
//:::   where: 'M' is statute miles (default)       ::: 
//:::     'K' is kilometers          ::: 
//:::     'N' is nautical miles 

Source

在推入數組中的所有距離後,您可以輕鬆地對accor進行排序根據你的需要。