- php通过经纬度计算距离
- plng plat lat lng为参数
// 计算商家位置与用户位置距离
$lat = ''; //lat
$lng = ''; //lng
$radLat1 = deg2rad($lat); //deg2rad()函数将角度转换为弧度
$radLat2 = deg2rad($plat);
$radLng1 = deg2rad($lng);
$radLng2 = deg2rad($plng);
$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 * 1000;
$distance = ceil($s);
if ($distance >= 1000) {
$distance = $distance / 1000;
$distance = ceil($distance);
$distance .= 'km';
} else {
$distance .= 'm';
}
echo $distance;