搜索
首页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 中标记所表示的两点之间的距离是...

在百度地图API中,如何使用Java计算两点间的距离,并显示在地图上?在百度地图API中,如何使用Java计算两点间的距离,并显示在地图上?

30Jul2023

在百度地图API中,如何使用Java计算两点间的距离,并显示在地图上?百度地图API是一项强大的地理信息开发工具,提供了多种功能和接口供开发者使用。其中一个常用的功能就是计算两点间的距离,并将结果显示在地图上。本文将介绍如何使用Java语言来实现这一功能,并提供相应的代码示例。使用百度地图API进行开发,首先需要在官方网站申请一个开发者账号,并创建一个新的应

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

05Nov2024

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

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

28Nov2024

如何计算 Google 地图 V3 中标记之间的距离计算地图上两点之间的距离是一项常见任务,Google 地图...

See all articles