【问题标题】:Google Maps v3 WebService API Straightline DistanceGoogle Maps v3 Web Service API 直线距离
【发布时间】:2017-02-16 06:15:35
【问题描述】:

我一直在寻找 Gmaps Web 服务 API 来测量两点之间的距离。已经大约2个月了,仍然没有运气。 我找到的所有解决方案都是标准的谷歌地图距离计算。

我想要的是 9.32Km 的距离,而不是 10.4Km(见上图)
谢谢。

【问题讨论】:

    标签: php web-services google-maps-api-3


    【解决方案1】:

    你可以在php中使用这种函数:

    echo calculateDistance(27.1010, 27.1020, 26.1010, 26.1020, "K");
    
    function calculateDistance($lat1, $lon1, $lat2, $lon2, $unit) {
    
        $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 {
            return $miles;
        }
    }
    
    // Output: 149.15401829861 in KM
    

    【讨论】:

    • 感谢您的回复。所以目前谷歌没有那种服务。我刚刚对其进行了测试,结果可用于该项目。 calculateDistance(40.690569, -73.997659, 40.665436, -73.892219, "K") 谷歌地图:9.37 公里您的功能:9.31 公里
    • 我认为如果你的自定义函数给你完美的结果,那么无论它是否存在,都不需要点击 API。
    • 是的,系统需要付出很多努力才能得到API结果...非常感谢。
    • 是的,网络等因素太多了。如果可能的话,最好把你的功能交给我们。快乐编码:)
    猜你喜欢
    • 1970-01-01
    • 2012-05-30
    • 1970-01-01
    • 1970-01-01
    • 2017-04-09
    • 1970-01-01
    • 2015-02-18
    • 2011-03-16
    • 2012-03-25
    相关资源
    最近更新 更多