計算地圖上兩點間的距離PHP類
<?php class GeoHelper { /** * @param int $lat1 * @param int $lon1 * @param int $lat2 * @param int $lon2 * @param string $unit * @return */ public static function distance($lat1, $lon1, $lat2, $lon2, $unit = "K") { $theta = $lon1 - $lon2; $dist = sin(deg2rad($lat1)) * sin(deg2rad($lat2)) + cos(deg2rad($lat1)) * cos(deg2rad ($lat2)) * cos(deg2rad($theta)); $dist = acos($dist); $dist = rad2deg($dist); $miles = $dist * 60 * 1.1515; $unit = strtoupper($unit); if ($unit == "K") { return ($miles * 1.609344); } else if ($unit == "N") { return ($miles * 0.8684); } else { //mi return $miles; } } /** * * @param string $address * @param string $apikey * @return array [1]:lat [0]:lng */ public static function getLatLng($address, $apikey) { $find = array("\n", "\r", " "); $replace = array("", "", "+"); $address = str_replace($find, $replace, $address); $url = 'http://maps.google.com/maps/geo?q=' . $address . '&key=' . $apikey . '&sensor=false&output=xml&oe=utf8'; $response = self::xml2array($url); $coordinates = $response['kml']['Response']['Placemark']['Point']['coordinates']; if (!empty($coordinates)) { $point_array = split(",", $coordinates); return $point_array; } } }
計算地圖上兩點間的距離,使用的是Google地圖
免責聲明
本站所有資源皆由網友貢獻或各大下載網站轉載。請自行檢查軟體的完整性!本站所有資源僅供學習參考。請不要將它們用於商業目的。否則,一切後果都由您負責!如有侵權,請聯絡我們刪除。聯絡方式:admin@php.cn
相關文章

27 Nov 2024
計算 Google 地圖 V3 中點之間的距離在 Google 地圖 V3 中,可以使用半正弦計算兩個標記之間的距離...

29 Nov 2024
使用 Google 地圖 V3 確定兩點之間的距離計算 Google 地圖 V3 中標記之間的距離可以透過以下方式實現...

30 Nov 2024
計算 Google 地圖 V3 中兩個標記之間的距離確定 Google 地圖 V3 中標記所表示的兩點之間的距離是...


熱工具

熱門文章
如何修復KB5055523無法在Windows 11中安裝?
10 Apr 2025
故障排查
如何修復KB5055518無法在Windows 10中安裝?
10 Apr 2025
故障排查
R.E.P.O.的每個敵人和怪物的力量水平
07 Apr 2025
手游攻略
<🎜>:死鐵路 - 如何馴服狼
07 Apr 2025
手游攻略
藍王子:如何到達地下室
11 Apr 2025
手游攻略