jsGears.com 技術論壇 - AJAX, JavaScript, jQuery, 網站開發, 前端效能優化's Archiver

wmh 發表於 2008-7-31 22:58

計算地球上兩座標點之間的距離

書上看到的技巧,貼出來分享給大家,透過弧度值的經緯度來計算,以 Google Maps API 為範例。

[code js]
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;
}[/code]

頁: [1]

Powered by Discuz! Archiver  © 2001-2009 Comsenz Inc.