Cesium.js 添加billboard广告牌,点击改变其文本和图标
程序员文章站
2024-03-15 08:22:17
...
var monitorEntity = viewer.entities.add({
name: "video",
position: Cesium.Cartesian3.fromDegrees(109.44, 32.11,30.0),
point: { //点
pixelSize: 0,
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
},
});
// 视角定位
viewer.flyTo(monitorEntity, {
duration: 2,
offset: {
heading: Cesium.Math.toRadians(0.0),
pitch: Cesium.Math.toRadians(-30),
range: 720
}
});
//点击广告牌改变文本和图标
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);