2018年04月6日网站服务器迁移完成……

PHP 根据经纬度计算距离公里数

php 苏 demo 1957℃ 0评论

map

已知当前用户地址位置坐标信息,计算目标坐标点的距离信息。

PS :
1 、返回的结果单位 km 。
2 、测试 Google 地图经纬度和百度地图经纬度差 1m 左右。

/**
 * 根据两点间的经纬度计算距离
 * @param $lng1
 * @param $lat1
 * @param $lng2
 * @param $lat2
 * @return int
 */
public static function getDistance($lng1, $lat1, $lng2, $lat2)
{
   //将角度转为狐度
   $radLat1 = deg2rad($lat1);//deg2rad()函数将角度转换为弧度
   $radLat2 = deg2rad($lat2);
   $radLng1 = deg2rad($lng1);
   $radLng2 = deg2rad($lng2);
   $a = $radLat1 - $radLat2;
   $b = $radLng1 - $radLng2;
   $s = 2 * asin(sqrt(pow(sin($a / 2), 2) + cos($radLat1) * cos($radLat2) * pow(sin($b / 2), 2))) * 6378.137;
   return round(floatval($s),2).'km';
}
打赏

转载请注明:苏demo的别样人生 » PHP 根据经纬度计算距离公里数

   如果本篇文章对您有帮助,欢迎向博主进行赞助,赞助时请写上您的用户名。
支付宝直接捐助帐号oracle_lee@qq.com 感谢支持!
喜欢 (0)or分享 (0)
发表我的评论
取消评论
表情