Search K
Appearance
👇公众号👇---👇 微信 👇
有缘人请我喝杯咖啡吧
👇 微信 👇---👇支付宝👇
Appearance
TIP
要计算两个地点之间的经纬度距离,可以使用 Haversine 公式。这个公式基于球面上两点之间的弧长来计算它们之间的距离,可以用于近似地计算地球表面上两点之间的距离。
<?php
function distance($lat1, $lon1, $lat2, $lon2, $unit = 'km') {
$theta = $lon1 - $lon2;
$distance = sin(deg2rad($lat1)) * sin(deg2rad($lat2)) + cos(deg2rad($lat1)) * cos(deg2rad($lat2)) * cos(deg2rad($theta));
$distance = acos($distance);
$distance = rad2deg($distance);
$distance = $distance * 60 * 1.1515; // 转换成英里
if ($unit == 'km') {
$distance = $distance * 1.609344; // 英里转换为千米
}
return number_format($distance, 2);
}
// 示例用法
$lat1 = 39.909622; // 第一个地点的纬度
$lon1 = 116.433158; // 第一个地点的经度
$lat2 = 39.908626; // 第二个地点的纬度
$lon2 = 116.490506; // 第二个地点的经度
$distance = distance($lat1, $lon1, $lat2, $lon2);
echo "距离: " . $distance . " km";//距离: 4.89 km
?>