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

前端之家收集整理的这篇文章主要介绍了php 计算两个坐标(经度,纬度)之间的距离前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
PHP计算两个坐标(经度,纬度)之间的距离,返回结果为米或者千米,感兴趣的小伙伴,下面一起跟随编程之家 jb51.cc的小编来看看吧。
经测试代码如下:
  1. /**
  2. * 计算两个坐标(经度,纬度)之间的距离
  3. *
  4. * @param
  5. * @arrange (512.笔记) jb51.cc
  6. **/
  7. function distance($lat1,$lng1,$lat2,$lng2,$miles = true)
  8. {
  9. $pi80 = M_PI / 180;
  10. $lat1 *= $pi80;
  11. $lng1 *= $pi80;
  12. $lat2 *= $pi80;
  13. $lng2 *= $pi80;
  14. $r = 6372.797; // mean radius of Earth in km
  15. $dlat = $lat2 - $lat1;
  16. $dlng = $lng2 - $lng1;
  17. $a = sin($dlat / 2) * sin($dlat / 2) + cos($lat1) * cos($lat2) * sin($dlng / 2) * sin($dlng / 2);
  18. $c = 2 * atan2(sqrt($a),sqrt(1 - $a));
  19. $km = $r * $c;
  20. return ($miles ? ($km * 0.621371192) : $km);
  21. }
  22. /*** 代码来自编程之家 jb51.cc(jb51.cc) ***/@H_403_6@

猜你在找的PHP相关文章