Heim > Artikel > Backend-Entwicklung > PHP-Methode zur Berechnung des Abstands zwischen Baidu-Kartenkoordinaten_php-Fähigkeiten
Das Beispiel in diesem Artikel beschreibt die Methode zur Berechnung der Entfernung zwischen Baidu-Kartenkoordinaten in PHP. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:
Das Folgende ist der Code im Internet. Bei der Verwendung müssen einige Änderungen vorgenommen werden
Die erste Funktion besteht darin, den Bereich zu ermitteln. Die Parameter sind Breitengrad, Längengrad und Radius
Die zweite Funktion besteht darin, den Koordinatenabstand zu berechnen
<?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; }
Leser, die an weiteren PHP-bezogenen Inhalten interessiert sind, können sich die speziellen Themen auf dieser Website ansehen: „Umfassende Sammlung von Fähigkeiten zum Betrieb von PHP-Arrays (Arrays)“, „Zusammenfassung der PHP-Mathematik Betriebsfähigkeiten", "Zusammenfassung der Verwendung regulärer PHP-Ausdrücke", "Zusammenfassung der PHP+Ajax-Kenntnisse und -Anwendungen", "Zusammenfassung der PHP-Operationen und der Operatorverwendung ", "Zusammenfassung der PHP-Netzwerkprogrammierkenntnisse", "Einführung in die grundlegende PHP-Syntax-Tutorial", "Zusammenfassung der Verwendung von PHP-Datum und -Uhrzeit" , „Tutorial zur Einführung in die objektorientierte PHP-Programmierung “, „Zusammenfassung der PHP-String-(String-)Nutzung“, „Einführungs-Tutorial zum PHP+MySQL-Datenbankbetrieb“ und „Zusammenfassung allgemeiner PHP-Datenbankbetriebsfähigkeiten》
Ich hoffe, dass dieser Artikel für alle, die sich mit PHP-Programmierung befassen, hilfreich sein wird.