【解决办法】使用ScreenSpaceEventHandler中setInputAction中的LEFT_CLICK方法。参考代码如下:
var monitorEntity = viewer.entities.add({
name: "video",
position: Cesium.Cartesian3.fromDegrees(109.44, 32.11,30.0),
point: { //点
pixelSize: 20,
HeightReference: 1000
},
label: { //文字标签
text: "文字标签",
font: '500 30px Helvetica',// 15pt monospace
scale: 0.5,
style: Cesium.LabelStyle.FILL,
fillColor: Cesium.Color.WHITE,
pixelOffset: new Cesium.Cartesian2(-8, -35), //偏移量
showBackground: true,
backgroundColor: new Cesium.Color(0.5, 0.6, 1, 1.0)
},
billboard: { //图标
image: '../images/marker01.png',
width: 50,
height: 50
},
});
//点击广告牌改变文本和图标
var handlerVideo = new Cesium.ScreenSpaceEventHandler(viewer.scene.canvas);
handlerVideo.setInputAction(function (click) {
var pick = viewer.scene.pick(click.position);
if (pick && pick.id._name == "video") {
monitorEntity._billboard._image._value = '../images/marker02.png';
monitorEntity._label._text._value = "label";
} else {
return;
}
}, Cesium.ScreenSpaceEventType.LEFT_CLICK);