《PHP實戰:php實現計算百度地圖坐標之間距離的方法》要點:
本文介紹了PHP實戰:php實現計算百度地圖坐標之間距離的方法,希望對您有用。如果有疑問,可以聯系我們。
PHP應用本文實例講述了php實現計算百度地圖坐標之間距離的辦法.分享給大家供大家參考,具體如下:
PHP應用下面是網上的代碼,使用的時候需要進行些許修改
PHP應用第一個函數是獲得范圍,參數為緯度經度半徑
PHP應用第二個函數是計算坐標距離
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數組(Array)操作技巧大全》、《PHP數學運算技巧總結》、《php正則表達式用法總結》、《PHP+ajax技巧與應用小結》、《PHP運算與運算符用法總結》、《PHP網絡編程技巧總結》、《PHP基本語法入門教程》、《php日期與時間用法總結》、《php面向對象程序設計入門教程》、《php字符串(string)用法總結》、《php+mysql數據庫操作入門教程》及《php常見數據庫操作技巧匯總》
PHP應用希望本文所述對大家PHP程序設計有所贊助.