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

本文实例讲述了php计算两个坐标(经度,纬度)之间距离的方法。分享给大家供大家参考。具体如下:

这里使用php计算两个坐标(经度,纬度)之间的距离,返回结果为米或者千米

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

}

希望本文所述对大家的php程序设计有所帮助。

以上是 php计算两个坐标(经度,纬度)之间距离的方法 的全部内容, 来源链接: utcz.com/z/315298.html

回到顶部