如何隐藏Cesium ion标识?配置credit参数未生效问题咨询
问题解答
1. 关于是否使用Cesium ion的判断
你的理解完全正确——这段代码确实没有用到Cesium ion服务,你采用的是OpenStreetMap的影像源,没有调用ion提供的瓦片、地形或其他资源。
2. 为什么仍显示Cesium ion标识
Cesium Viewer组件默认会自带Cesium ion的版权标识,不管你有没有实际使用ion服务。你设置的creditContainer和creditViewport只是用来指定版权信息的显示容器位置,并不具备移除默认版权标识的作用,所以设置为null不会生效。
3. 解决方法
方法一:隐藏Cesium ion标识
初始化Viewer后,手动移除默认的Cesium版权项即可:
// 在Viewer初始化代码之后添加 viewer.creditDisplay.removeCredit(Cesium.Credit.DEFAULT_CESIUM_CREDIT);
或者提前在HTML中加一个隐藏容器,将版权信息定向到这个容器:
<!-- 新增隐藏容器 --> <div id="hiddenCredits" style="display: none;"></div>
const viewer = new Cesium.Viewer("cesiumContainer", { baseLayer: Cesium.ImageryLayer.fromProviderAsync(osm), baseLayerPicker: false, geocoder: false, creditContainer: document.getElementById('hiddenCredits'), // 指定到隐藏容器 });
方法二:替换为Cesium/CesiumJS标识
先移除默认的ion版权,再添加自定义的版权文本:
// 移除默认ion版权 viewer.creditDisplay.removeCredit(Cesium.Credit.DEFAULT_CESIUM_CREDIT); // 添加自定义CesiumJS版权 const customCredit = new Cesium.Credit('CesiumJS'); viewer.creditDisplay.addCredit(customCredit);
内容的提问来源于stack exchange,提问作者Eric G
相关产品推荐
相关产品推荐

