赞
踩
1.获取航向角heading
- //这个计算的是逆时针,如果需要顺时针,可以在返回的结果里+360即可.
- function courseAngle(lng_a, lat_a, lng_b, lat_b) {
- //以a点为原点建立局部坐标系(东方向为x轴,北方向为y轴,垂直于地面为z轴),得到一个局部坐标到世界坐标转换的变换矩阵
- var localToWorld_Matrix = Cesium.Transforms.eastNorthUpToFixedFrame(new Cesium.Cartesian3.fromDegrees(lng_a, lat_a));
- //求世界坐标到局部坐标的变换矩阵
- var worldToLocal_Matrix = Cesium.Matrix4.inverse(localToWorld_Matrix,new Cesium.Matrix4());
- //a点在局部坐标的位置,其实就是局部坐标原点
- var localPosition_A = Cesium.Matrix4.multiplyByPoint(worldToLocal_Matrix,new Cesium.Cartesian3.fromDegrees(lng_a, lat_a),new Cesium.Cartesian3());
- //B点在以A点为原点的局部的坐标位置
- var localPosition_B = Cesium.Matrix4.multiplyByPoint(worldToLocal_Matrix,new Cesium.Cartesian3.fromDegrees(lng_b, lat_b),new Cesium.Cartesian3());
- //弧度
- var angle = Math.atan2((localPosition_B.y-localPosition_A.y), (localPosition_B.x-localPosition_A.x))
- //角度
- var t
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。