核心代码如下
// 创建监听的handler
let handler = new Cesium.ScreenSpaceEventHandler(viewer.scene.canvas);
let moveEntity = null;// 记录绘制过程中移动的实体
// 对鼠标移动事件的监听
handler.setInputAction((event) => {
// 除第一次,每次移动都会删除上次的实体
moveEntity && viewer.entities.remove(moveEntity);
viewer.entities.add({
position: changeToThree(event.endPosition),
label: {
text: '跟随鼠标移动',
font: "14px 微软雅黑",
color: Cesium.Color.AZURE,
outline: true,
outlineColor: Cesium.Color.BLACK,
outlineWidth: 3,
showBackground: true,
horizontalOrigin: Cesium.HorizontalOrigin.CENTER,
verticalOrigin: Cesium.VerticalOrigin.BOTTOM,
pixelOffset: new Cesium.Cartesian2(-10, -10), // 偏移量
disableDepthTestDistance: Number.POSITIVE_INFINITY
},
});
moveEntity = viewer.entities.values.slice(-1)[0];
}, Cesium.ScreenSpaceEventType.MOUSE_MOVE);