이 기사의 예에서는 PHP에서 바이두 지도 좌표 간의 거리를 계산하는 방법을 설명합니다. 참고용으로 모든 사람과 공유하세요. 세부 사항은 다음과 같습니다.
다음은 인터넷에 있는 코드입니다. 사용할 때 약간 수정해야 합니다.
첫 번째 기능은 다음과 같습니다. 범위, 매개변수는 위도, 경도, 반경입니다
두 번째 기능은 좌표 거리를 계산하는 것입니다
<?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; }
PHP에 더 관심이 있는 독자 콘텐츠는 이 사이트의 특별한 주제인 "PHP 배열(배열) 연산 "완전한 기술", "PHP 수학적 연산 기술 요약", "PHP 정규식 사용법 요약", "PHP Ajax 기술 및 응용 요약"을 확인할 수 있습니다. ", "PHP 작업 및 연산자 사용법 요약", "PHP 네트워크 프로그래밍 기술 요약", "PHP 기본 구문 입문 튜토리얼", "php 날짜 및 시간 사용법 요약", php 객체 지향 프로그래밍 입문 튜토리얼", "php 문자열 (문자열) 사용법 요약", "php mysql 데이터베이스 작업 입문 튜토리얼" 및 "php 일반 데이터베이스 작업 기술 요약》
이 기사가 PHP 프로그래밍에 종사하는 모든 사람에게 도움이 되기를 바랍니다.
위 내용은 바이두 지도의 방법을 포함하여 PHP에서 바이두 지도 좌표 사이의 거리를 계산하는 방법을 소개하고 있으니 PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되었으면 좋겠습니다.