最近用cesium做的一些效果,加载的entity对象,希望通过鼠标操作,或者信息输入,实现位置移动以及围绕中心位置的旋转。网上搜了很多案例,没有解决这个问题。今天偶然解决了,把解决办法梳理如下。
我的使用场景是把视频信息帖合到entity上,然后调整entity的位置角度,与周围地形建筑信息“”融合“”。加载entity对象方法如下
viewer.entities.add({
id: 'Blue rectangle, zIndex 3',
rectangle: {
coordinates: Cesium.Rectangle.fromDegrees(111.8665, 40.9382, 111.8675, 40.9387),
material: element, //Cesium.Color.BLUE,
zIndex: 3,
rotation: Cesium.Math.toRadians(180),
stRotation: Cesium.Math.toRadians(180)
}
});
位置旋转主要看这两个属性
rotation: Cesium.Math.toRadians(180), // 整体旋转entity的角度,围绕中心点
stRotation: Cesium.Math.toRadians(180) // 旋转entity上的材质信息
如果entity几何形状和材质信息需要一起旋转,需要一起调用才能保持同步。
如果需要支持鼠标移动entity对象,这个链接实现的很好,可以参考https://blog.csdn.net/weixin_40184249/article/details/93633337。