php 计算 高德坐标 距离,计算两个坐标点的距离(高德or百度)
时间: 2023-10-10 17:14:02 浏览: 42
要计算两个高德或百度地图坐标之间的距离,可以使用以下 PHP 代码:
```php
function distance($lat1, $lng1, $lat2, $lng2)
{
$earthRadius = 6378138; // 地球半径,单位米
$radLat1 = deg2rad($lat1);
$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)));
$s = $s * $earthRadius;
return round($s, 2); // 保留两位小数
}
// 使用示例
$lat1 = 31.23037;
$lng1 = 121.4737;
$lat2 = 31.22222;
$lng2 = 121.45806;
$distance = distance($lat1, $lng1, $lat2, $lng2);
echo "两点之间的距离为:{$distance}米";
```
其中 `$lat1` 和 `$lng1` 是第一个坐标点的纬度和经度,`$lat2` 和 `$lng2` 是第二个坐标点的纬度和经度。函数返回的是两个坐标点之间的距离,单位是米。