計算地圖上兩點間的距離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
相關文章
PHP計算地球上兩點之間的距離(範例詳解)
03Apr2019
給定經度和緯度,求地球上兩點之間的距離。首先我們要先了解問題的解決思路,然後再用PHP程式碼來實現計算。此問題可用半正矢(haversine)公式求解:
在百度地圖API中,如何使用Java計算兩點間的距離,並顯示在地圖上?
30Jul2023
在百度地圖API中,如何使用Java計算兩點間的距離,並顯示在地圖上?百度地圖API是一項強大的地理資訊開發工具,提供了多種功能和介面供開發者使用。其中一個常用的功能是計算兩點間的距離,並將結果顯示在地圖上。本文將介紹如何使用Java語言來實現此功能,並提供對應的程式碼範例。使用百度地圖API進行開發,首先需要在官方網站申請一個開發者帳號,並創建一個新的應
Hot tools Tags
Hot Tools
Hot Article
Pokemon Pocket:如何與朋友一起玩
02Nov2024手游攻略
所有《黑色行動 6》安全屋謎題解決方案
26Oct2024手游攻略
Brotato:最佳獵人構建
13Nov2024手游攻略
Vampire Survivors:惡魔城頌歌 DLC - 如何解鎖每個角色
01Nov2024手游攻略
《模擬市民 4:生與死》- 守護樹指南
03Nov2024手游攻略