首頁 PHP 函式庫 其它類別庫 計算地圖上兩點間的距離PHP類
計算地圖上兩點間的距離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計算地圖上兩點間的距離 PHP計算地圖上兩點間的距離

25 Jul 2016

PHP計算地圖上兩點間的距離

如何計算 Google 地圖 V3 上兩點之間的距離? 如何計算 Google 地圖 V3 上兩點之間的距離?

27 Nov 2024

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

如何使用 Google 地圖 V3 計算兩點之間的距離? 如何使用 Google 地圖 V3 計算兩點之間的距離?

29 Nov 2024

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

如何計算 Google 地圖 V3 上兩個標記之間的距離? 如何計算 Google 地圖 V3 上兩個標記之間的距離?

30 Nov 2024

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

PHP計算兩點經緯度之間的距離代碼 PHP計算兩點經緯度之間的距離代碼

25 Jul 2016

PHP計算兩點經緯度之間的距離代碼

如何使用緯度和經度計算地球上兩點之間的距離? 如何使用緯度和經度計算地球上兩點之間的距離?

31 Oct 2024

緯度和經度:計算兩點之間的距離計算地球上兩點之間的距離需要了解...

See all articles