用经纬度坐标计算两点之间的距离
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用经纬度坐标计算两点之间的距离相关的知识,希望对你有一定的参考价值。
This function calculates distance with the Haversine formula, this formula assumes that our Earth is spherical, but it isn’t since it’s more like a big orange fruit also compresses at poles. I’ve read that this function has an error about + o – 3 meters (it depends), but it’s a small error for many purposes.
function distance(lat1,lon1,lat2,lon2) { var R = 6371; // km (change this constant to get miles) var dLat = (lat2-lat1) * Math.PI / 180; var dLon = (lon2-lon1) * Math.PI / 180; var a = Math.sin(dLat/2) * Math.sin(dLat/2) + Math.cos(lat1 * Math.PI / 180 ) * Math.cos(lat2 * Math.PI / 180 ) * Math.sin(dLon/2) * Math.sin(dLon/2); var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a)); var d = R * c; if (d>1) return Math.round(d)+"km"; else if (d<=1) return Math.round(d*1000)+"m"; return d; }
以上是关于用经纬度坐标计算两点之间的距离的主要内容,如果未能解决你的问题,请参考以下文章