大家好,又见面了,我是你们的朋友全栈君
用php计算两个指定的经纬度地点之间的距离,代码:
/**
*求两个已知经纬度之间的距离,单位为米
*@param lng1,lng2 经度
*@param lat1,lat2 纬度
*@return float 距离,单位米
*@edit www.jbxue.com
**/
function getdistance(lng1,lat1,lng2,lat2){
//将角度转为狐度
radLat1=deg2rad(lat1);//deg2rad()函数将角度转换为弧度
radLat2=deg2rad(lat2);
radLng1=deg2rad(lng1);
radLng2=deg2rad(lng2);
a=radLat1-
b=radLng1-
s=2*asin(sqrt(pow(sin(a/2),2) cos(radLat1)*cos(radLat2)*pow(sin(
return $s;
}
?>
举例,“上海市延安西路2055弄”到“上海市静安寺”的距离:
上海市延安西路2055弄 经纬度:31.2014966,121.40233369999998
上海市静安寺 经纬度:31.22323799999999,121.44552099999998
那么:
复制代码 代码示例:
echo getdistance(31.2014966,121.40233369999998,31.22323799999999,121.44552099999998);
结果为:4970.4248747365 ,约4970米,大约10里路。
几乎接近真实的距离了,看来用php计算两个经纬度地点之间的距离,还是靠谱的,呵呵。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/193149.html原文链接:https://javaforall.cn