首页 / 浏览问题 / 三维 / 问题详情
client3d 隐藏billboard
4月11
使用产品:iclient 3d for webgl  10.2.1
数据类型: billboard对象
问题详细描述:

添加billboard后,点击页面中某个按钮将该billboard的show属性设置为false,无法隐藏,不生效;

代码:

 iconCollection = viewer.scene.primitives.add(new Cesium.BillboardCollection());//添加collection

 let icon = iconCollection.add({//添加billboard

        id: {

            id: util.guid(),

            type: 'marker-icon',

            extData: _option.extData

        },

        show:true,//如果这里初始化为false,再动态设置show属性可以实现显隐

        position: Cesium.Cartesian3.fromDegrees(_option.position[0], _option.position[1], _option.position[2]),

        image: _option.iconUrl,

        width: _option.iconSize[0],

        height: _option.iconSize[1],

        pixelOffset: new Cesium.Cartesian2(_option.iconOffset[0], _option.iconOffset[1]),

        distanceDisplayCondition: new Cesium.DistanceDisplayCondition(_option.visibleDistance[0], _option.visibleDistance[1])

    });

但是在添加billboard时如果将show属性初始化为false,在点击按钮设置show为false或true进行显隐切换,是生效的;

问题重现步骤: 如上

1个回答

您好,针对于Cesium,在部分情况下, show属性可能并不总是一个简单的布尔属性 。详情可以查看网址http://cn.voidcc.com/question/p-vupkvgac-sd.html

在这些情况下的时候,您的设置很有可能会失效。

其中也有解决的方法,希望可以帮助到您。

hyy724  (851分)  才高八斗
4月11
...