我有一个函数PHP
可以计算两个地方之间的距离。
这是php代码:
function distance($lat1, $lon1, $lat2, $lon2) {
$earth_radius = 6371;
$delta_lat = $lat2 - $lat1 ;
$delta_lon = $lon2 - $lon1 ;
$distance = sin(deg2rad($lat1)) * sin(deg2rad($lat2)) + cos(deg2rad($lat1)) * cos(deg2rad($lat2)) * cos(deg2rad($delta_lon)) ;
$distance = acos($distance);
$distance = rad2deg($distance);
$distance = $distance * 60 * 1.1515;
$distance = round($distance, 4);
return $distance = $distance * 1.609344;
}
它给出了很好的计算25 km
,但周围500 km
的计算是错误的。我的另一个问题是it really giving miles or kilometers?
例如,这张地图给出的距离为443 km
from Morbi
to Surat
,但该函数给了我一个结果274 km