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

 


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]));

你可能感兴趣的:(WebUI)