php 计算两个坐标(经度,纬度)之间的距离

前端之家收集整理的这篇文章主要介绍了php 计算两个坐标(经度,纬度)之间的距离前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
PHP计算两个坐标(经度,纬度)之间的距离,返回结果为米或者千米,感兴趣的小伙伴,下面一起跟随编程之家 jb51.cc的小编来看看吧。
经测试代码如下:

/**
 * 计算两个坐标(经度,纬度)之间的距离
 *
 * @param 
 * @arrange (512.笔记) jb51.cc
 **/
function distance($lat1,$lng1,$lat2,$lng2,$miles = true)
{
 $pi80 = M_PI / 180;
 $lat1 *= $pi80;
 $lng1 *= $pi80;
 $lat2 *= $pi80;
 $lng2 *= $pi80;
 
 $r = 6372.797; // mean radius of Earth in km
 $dlat = $lat2 - $lat1;
 $dlng = $lng2 - $lng1;
 $a = sin($dlat / 2) * sin($dlat / 2) + cos($lat1) * cos($lat2) * sin($dlng / 2) * sin($dlng / 2);
 $c = 2 * atan2(sqrt($a),sqrt(1 - $a));
 $km = $r * $c;
 
 return ($miles ? ($km * 0.621371192) : $km);
}


/***   代码来自编程之家 jb51.cc(jb51.cc)   ***/

猜你在找的PHP相关文章