Javascript 如何在cesium.js中显示地下数据?

Javascript 如何在cesium.js中显示地下数据?,javascript,cesium,Javascript,Cesium,我想在cesium.js中显示地下多段线。但我对此一无所知。是的,铯支持这一点。有时很难看到,因为相机无法在椭球体下方移动 var viewer = new Cesium.Viewer('cesiumContainer'); var purpleArrow = viewer.entities.add({ name : 'Purple straight arrow at height', polyline : { positions : Cesium.Cartes

我想在cesium.js中显示地下多段线。但我对此一无所知。

是的,铯支持这一点。有时很难看到,因为相机无法在椭球体下方移动

var viewer = new Cesium.Viewer('cesiumContainer');

var purpleArrow = viewer.entities.add({
    name : 'Purple straight arrow at height',
    polyline : {
        positions : Cesium.Cartesian3.fromDegreesArrayHeights([-75, 43, -200000,
                                                               -90, 43, -200000]),
        width : 10,
        followSurface : false,
        material : new Cesium.PolylineArrowMaterialProperty(Cesium.Color.PURPLE)
    }
});

viewer.zoomTo(viewer.entities);

似乎铯没有提供官方的地下功能,原因是,但地下效果可以通过另一种方式获得--
半透明地形

据Cesium dev google group称,我已经实现了一种勉强令人满意的方法来显示地下实体(包括gltf模型)。显示效果如GIF文件所示。这种方法主要包括3个步骤

有关gif,请参阅

1.仅更改铯源代码中的一行代码;获取铯源代码,然后找到名为GlobeSurfaceTileProvider.js的文件,更改

command.pass = Pass.GLOBE;

2.使用gulp工具生成铯释放代码;使用CLI执行
gulprelease
。PS:您可能需要设置节点环境,安装依赖节点模块并安装gulp工具

3.implementation code.PS:注意,只有在更改步骤1中说明的铯源代码后,才能运行以下代码段


你好,世界!
@导入url(../Build/Cesium/Widgets/Widgets.css);
html,
身体,
#cesiumContainer{
宽度:100%;
身高:100%;
保证金:0;
填充:0;
溢出:隐藏;
位置:相对位置;
}
.工具{
位置:绝对位置;
顶部:20px;
左:20px;
宽度:100px;
}
不透明度:
函数更改(){
var值=document.getElementById(“btnImageryAlpha”).value;
if(查看器.imageryLayers){
对于(var i=0;i
您尝试过什么?关于多段线,您是否查阅过cesium.js文档?为了帮助其他寻找这个话题的人,这里有几个链接:而且这个也很棒。有益的
command.pass = Pass.TRANSLUCENT;