Calculate angle between two Latitude/Longitude points

后端 未结 17 1415
故里飘歌
故里飘歌 2020-12-07 17:51

Is there a way to calculate angle between two Latitude/Longitude points?

What I am trying to achieve is to know where the user is heading. For example, user is head

17条回答
  •  刺人心
    刺人心 (楼主)
    2020-12-07 18:34

    In The Javascript, I create a function name angleFromCoordinate in which i pass two lat/lng. This function will return angel between that two lat/lng

    function angleFromCoordinate(lat1,lon1,lat2,lon2) {
        var p1 = {
            x: lat1,
            y: lon1
        };
    
        var p2 = {
            x: lat2,
            y: lon2
        };
        // angle in radians
        var angleRadians = Math.atan2(p2.y - p1.y, p2.x - p1.x);
        // angle in degrees
        var angleDeg = Math.atan2(p2.y - p1.y, p2.x - p1.x) * 180 / Math.PI;
        console.log(angleDeg);
        return angleDeg;
    }
    

    Working Code Snippet

    function angleFromCoordinate(lat1,lon1,lat2,lon2) {
        var p1 = {
            x: lat1,
            y: lon1
        };
    
        var p2 = {
            x: lat2,
            y: lon2
        };
        // angle in radians
        var angleRadians = Math.atan2(p2.y - p1.y, p2.x - p1.x);
        // angle in degrees
        var angleDeg = Math.atan2(p2.y - p1.y, p2.x - p1.x) * 180 / Math.PI;
    
        document.getElementById('rotation').innerHTML ="Rotation : "+ angleDeg;
        return angleDeg;
        
    }
         angleFromCoordinate(37.330604,-122.028947,37.3322109,-122.0329665);
    
    

    Rotation :

提交回复
热议问题