Le contenu de cet article présente comment PHP utilise la longitude et la latitude entre deux points pour calculer la distance en ligne droite entre deux points. Maintenant, je le partage avec vous. Les amis dans le besoin peuvent s'y référer
. Recommander un petit outil (collecte de coordonnées, y compris Baidu Map, Amap, Tencent Map, Google Map), pratique pour tester : http://www.gpsspg.com/maps.htm
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
function GetDistance( $lat1 , $lng1 , $lat2 , $lng2 , $len_type = 1, $decimal = 2)
{
$radLat1 = $lat1 * PI ()/ 180.0;
$radLat2 = $lat2 * PI() / 180.0;
$a = $radLat1 - $radLat2 ;
$b = ( $lng1 * PI() / 180.0) - ( $lng2 * PI() / 180.0);
$s = 2 * asin(sqrt(pow(sin( $a /2),2) + cos ( $radLat1 ) * cos ( $radLat2 ) * pow(sin( $b /2),2)));
$s = $s * 6378.137;
$s = round ( $s * 1000);
if ( $len_type --> 1)
{
$s /= 1000;
}
return round ( $s , $decimal );
}
$Xian = array (
'lat'=>'34.2620480000',
'lng'=>'108.9408590000'
);
$Chengdu = array (
'lat'=>'30.6736560000',
'lng'=>'104.0107450000'
);
echo '西安距成都'.GetDistance( $Xian ['lat'], $Xian ['lng'], $Chengdu ['lat'], $Chengdu ['lng'],2).'km';
|
Copier après la connexion
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!