搜索
首页PHP 库Other libraries计算地图上两点间的距离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;
        }
    }
}

计算地图上两点间的距离,使用的是谷歌地图

免责声明

本站所有资源均由网友贡献或各大下载网站转载。请自行检查软件的完整性!本站所有资源仅供学习参考。请不要将它们用于商业目的。否则,一切后果由您负责!如有侵权,请联系我们删除。联系方式:admin@php.cn

相关文章

如何计算 Google 地图 V3 上两点之间的距离?如何计算 Google 地图 V3 上两点之间的距离?

27Nov2024

计算 Google 地图 V3 中点之间的距离在 Google 地图 V3 中,可以使用半正弦计算两个标记之间的距离...

如何使用 Google 地图 V3 计算两点之间的距离?如何使用 Google 地图 V3 计算两点之间的距离?

29Nov2024

使用 Google 地图 V3 确定两点之间的距离计算 Google 地图 V3 中标记之间的距离可以通过以下方式实现...

如何计算 Google 地图 V3 上两个标记之间的距离?如何计算 Google 地图 V3 上两个标记之间的距离?

30Nov2024

计算 Google 地图 V3 中两个标记之间的距离确定 Google 地图 V3 中标记所表示的两点之间的距离是...

如何使用纬度和经度计算地球上两点之间的距离?如何使用纬度和经度计算地球上两点之间的距离?

31Oct2024

纬度和经度:计算两点之间的距离计算地球上两点之间的距离需要了解...

如何使用纬度和经度计算地球上两点之间的距离?如何使用纬度和经度计算地球上两点之间的距离?

01Nov2024

介绍基于纬度和经度的距离计算使用它们的...计算地球表面上两点之间的距离...

如何使用 GeoPy 更准确地计算两点之间的距离?如何使用 GeoPy 更准确地计算两点之间的距离?

05Nov2024

根据纬度和经度确定距离在尝试使用纬度和经度计算两点之间的距离时,您...

See all articles