var EARTH_RADIUS = 6371.0;
function Distance(lat1,lon1,lat2,lon2)
{
lat1 = ConvertDegreesToRadians(lat1);
lon1 = ConvertDegreesToRadians(lon1);
lat2 = ConvertDegreesToRadians(lat2);
lon2 = ConvertDegreesToRadians(lon2);
var vLon = Math.abs(lon1 - lon2);
var vLat = Math.abs(lat1 - lat2);
var h = HaverSin(vLat) + Math.cos(lat1) * Math.cos(lat2) * HaverSin(vLon);
var distance = 2 * EARTH_RADIUS * Math.asin(Math.sqrt(h));
return (distance*1000).toFixed(2);
}
function HaverSin(theta)
{
var v = Math.sin(theta / 2);
return v * v;
}
function ConvertDegreesToRadians(degrees)
{
return degrees * Math.PI / 180;
}
直接調用Distance函數,輸入兩點各自經緯度即可返回兩點空間距離。