先上最终实现图
关键点:
1.首先是箭头线图形,entity 实体中polyline 有一个PolylineArrowMaterialProperty字段可以生成箭头,具体实现官网上有,这里不做阐述
2.其次三个方向的坐标系的建立,单方向的轴,像点位置可以作为一个Z轴,然后去该轴和竖直方向的轴进行叉乘,得出一个方向的轴,以此类推,
代码局部实现:
// 向上的向量
const vectorNormalUp = new Cartesian3();
const vZ = new Cartesian3(0, 0, 1);
Cartesian3.normalize(this.position.clone(), vectorNormalUp);
// 向右的向量
const vectorNormalRight = new Cartesian3();
// 由z轴向上 地表向上两个向量叉乘, 则可以得出, 向右的向量
Cartesian3.cross(vZ, vectorNormalUp, vectorNormalRight);
Cartesian3.normalize(vectorNormalRight, vectorNormalRight);
// 向前的向量
const vectorNormalFront = new Cartesian3();
Cartesian3.cross(vectorNormalRight, vectorNormalUp, vectorNormalFront);
Cartesian3.multiplyBySca