首页 > 编程知识 正文

php经纬度计算距离,如何通过纬度计算距离

时间:2023-05-05 13:08:44 阅读:211197 作者:1976

传递参数:

地址1的纬度:$lat1  ,经度:$lng1,

地址2的纬度   $lat2  ,经度:$lng2,

示例:

封装的方法:

/**

* 计算两个经纬度距离

*/

public function getDistance($lat1, $lng1, $lat2, $lng2){

$earthRadius = 6367000; //approximate radius of earth in meters

$lat1 = ($lat1 * pi() ) / 180;

$lng1 = ($lng1 * pi() ) / 180;

$lat2 = ($lat2 * pi() ) / 180;

$lng2 = ($lng2 * pi() ) / 180;

$calcLongitude = $lng2 - $lng1;

$calcLatitude = $lat2 - $lat1;

$stepOne = pow(sin($calcLatitude / 2), 2) + cos($lat1) * cos($lat2) * pow(sin($calcLongitude / 2), 2);

$stepTwo = 2 * asin(min(1, sqrt($stepOne)));

$calculatedDistance = $earthRadius * $stepTwo;

return round($calculatedDistance);

}

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。