Cesium.js 添加billboard广告牌,点击改变其文本和图标

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);

 

posted @ 2021-04-12 17:13  abcByme  阅读(1827)  评论(0编辑  收藏  举报