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);
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章