诺基亚HERE贴图:计算两个坐标之间的位移

时间:2013-12-11 10:49:56

标签: javascript coordinates here-api

我正在尝试计算两个坐标之间的位移,以米为单位。here地图中是否有一个函数可以进行此计算?

如果没有,我如何有效地计算JavaScript中两个坐标点之间的距离。

2 个答案:

答案 0 :(得分:2)

我认为您正在寻找nokia.maps.geo.Coordinate课程中的distance()方法。可以在GitHub上的HERE Maps Community页面上的查找最近标记示例中找到使用示例。

答案 1 :(得分:2)

我找到了这个php函数(基于Vincenty的算法),它在计算2个坐标之间的位移方面效果很好,

<?php
function vincentyGreatCircleDistance($latitudeFrom, $longitudeFrom, $latitudeTo, $longitudeTo, $earthRadius = 6371000){
        // convert from degrees to radians
        $latFrom = deg2rad($latitudeFrom);
        $lonFrom = deg2rad($longitudeFrom);
        $latTo = deg2rad($latitudeTo);
        $lonTo = deg2rad($longitudeTo);

        $lonDelta = $lonTo - $lonFrom;
        $a = pow(cos($latTo) * sin($lonDelta), 2) +
        pow(cos($latFrom) * sin($latTo) - sin($latFrom) * cos($latTo) * cos($lonDelta), 2);
        $b = sin($latFrom) * sin($latTo) + cos($latFrom) * cos($latTo) * cos($lonDelta);

        $angle = atan2(sqrt($a), $b);
        return $angle * $earthRadius;
    }
?>

拨打:

<?php $distance_in_meters = vincentyGreatCircleDistance(53.6235,-1.34307, 51.6554, -2.3445 ); ?>