Maison >développement back-end >tutoriel php >Méthode PHP pour calculer la distance entre les compétences de la carte Baidu coordinates_php
L'exemple de cet article décrit la méthode de calcul de la distance entre les coordonnées de la carte Baidu en PHP. Partagez-le avec tout le monde pour votre référence, les détails sont les suivants :
Ce qui suit est le code sur Internet, vous devez apporter quelques modifications lors de son utilisation
La première fonction est d'obtenir la plage, les paramètres sont la latitude, la longitude et le rayon
La deuxième fonction est de calculer la distance des coordonnées
<?php define('PI',3.1415926535898); define('EARTH_RADIUS',6378.137); //计算范围,可以做搜索用户 function GetRange($lat,$lon,$raidus){ //计算纬度 $degree = (24901 * 1609) / 360.0; $dpmLat = 1 / $degree; $radiusLat = $dpmLat * $raidus; $minLat = $lat - $radiusLat; //得到最小纬度 $maxLat = $lat + $radiusLat; //得到最大纬度 //计算经度 $mpdLng = $degree * cos($lat * (PI / 180)); $dpmLng = 1 / $mpdLng; $radiusLng = $dpmLng * $raidus; $minLng = $lon - $radiusLng; //得到最小经度 $maxLng = $lon + $radiusLng; //得到最大经度 //范围 $range = array( 'minLat' => $minLat, 'maxLat' => $maxLat, 'minLon' => $minLng, 'maxLon' => $maxLng ); return $range; } //获取2点之间的距离 function GetDistance($lat1, $lng1, $lat2, $lng2){ $radLat1 = $lat1 * (PI / 180); $radLat2 = $lat2 * (PI / 180); $a = $radLat1 - $radLat2; $b = ($lng1 * (PI / 180)) - ($lng2 * (PI / 180)); $s = 2 * asin(sqrt(pow(sin($a/2),2) + cos($radLat1)*cos($radLat2)*pow(sin($b/2),2))); $s = $s * EARTH_RADIUS; $s = round($s * 10000) / 10000; return $s; }
Les lecteurs intéressés par davantage de contenu lié à PHP peuvent consulter les sujets spéciaux de ce site : "Collection complète de compétences opérationnelles PHP array (Array)", "Résumé des mathématiques PHP compétences opérationnelles", "Résumé de l'utilisation des expressions régulières PHP", "Résumé des compétences et applications PHP+ajax", "Résumé des opérations PHP et de l'utilisation des opérateurs ", "Résumé des compétences en programmation réseau PHP", "Tutoriel d'introduction à la syntaxe de base de PHP", "Résumé de l'utilisation de la date et de l'heure php" , "Tutoriel d'introduction à la programmation orientée objet php ", "Résumé de l'utilisation de la chaîne php (string) ", "Tutoriel d'introduction au fonctionnement de la base de données php + mysql " et "Résumé des compétences communes en matière d'exploitation de bases de données php》
J'espère que cet article sera utile à tout le monde dans la programmation PHP.