已知当前用户地址位置坐标信息,计算目标坐标点的距离信息。
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 根据经纬度计算距离公里数