Board logo

標題: 計算地球上兩座標點之間的距離 [打印本頁]

作者: wmh    時間: 2008-7-31 22:58     標題: 計算地球上兩座標點之間的距離

書上看到的技巧,貼出來分享給大家,透過弧度值的經緯度來計算,以 Google Maps API 為範例。
function getDistance(p1, p2, unit) {
 var R = 6378.137; //地球半徑
 var M = 1.609344; //英里轉公里
 var lat1 = p1.latRadians(); //弧度值緯度
 var lng1 = p1.lngRadians(); //弧度值經度
 var lat2 = p2.latRadians();
 var lng2 = p2.lngRadians(); 
 var dist = 2 * Math.asin(Math.sqrt(Math.pow((Math.sin((lat1-lat2)/2)),2)+Math.cos(lat1)*Math.cos(lat2)*Math.pow((Math.sin((lng1-lng2)/2)),2))*R;
 if (unit == 'M')
  return dist / M;
 return dist;
}





歡迎光臨 jsGears.com 技術論壇 - AJAX, JavaScript, jQuery, 網站開發, 前端效能優化 (http://jsgears.com/)