
標題: 計算地球上兩座標點之間的距離 [打印本頁]
作者: 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/) |
|