效果如图,这里我加载了一张geoserver中国地图
尝试了很多方法,终于达到上图的效果。
当移除掉地球的图层之后,将球体的baseColor
设置为透明,然后添加其他需要展示的图层:
viewer.imageryLayers.removeAll();
// 添加WMS服务
const provider = new Cesium.WebMapServiceImageryProvider({
url: url,
layers: "RLP",
parameters: {
transparent: true,
format: "image/png",
},
});
cesium中地球球体是实心的,模拟了真实的地球构造,所以我们不仅要设置地表为透明色,还要设置地球球体内部实心部分为透明效果。
主要对globe
属性进行配置。属性viewer.scene.globe.translucency.enabled
设置为true
,地球将被渲染为半透明的球体。
// 地球球体透明
viewer.scene.globe.showGroundAtmosphere = false;
viewer.scene.globe.baseColor = Cesium.Color.TRANSPARENT;
viewer.scene.globe.translucency.enabled = true;
viewer.scene.globe.undergroundColor = undefined;