您的位置:首页 > Web前端 > JavaScript

JavaScript 根据两点的经纬度坐标,计算实际的直线距离

2010-04-20 22:19 507 查看
 

var FINAL = 6378137.0

/**
* 求某个经纬度的值的角度值
* @param {Object} d
*/
function calcDegree(d){
return d*Math.PI/180.0 ;
}

/**
* 根据两点经纬度值,获取两地的实际相差的距离
* @param {Object} f	第一点的坐标位置[latitude,longitude]
* @param {Object} t	第二点的坐标位置[latitude,longitude]
*/
function calcDistance(f,t){
var flat = calcDegree(f[0]) ;
var flng = calcDegree(f[1]) ;
var tlat = calcDegree(t[0]) ;
var tlng = calcDegree(t[1])	 ;

var result = Math.sin(flat)*Math.sin(tlat) ;
result += Math.cos(flat)*Math.cos(tlat)*Math.cos(flng-tlng) ;
return Math.acos(result)*FINAL ;
}

window.alert("上海到北京的距离: "+calcDistance([31.22219703210317,121.475830078125],[39.90130858574735,116.400146484375]));
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  javascript object