首页 / 浏览问题 / WebGIS / 问题详情
addS3MTilesLayerByScp如何加载多个图层并获取layer
5EXP 2023年03月28日
addLayer(){ promise[0] = scene.addS3MTilesLayerByScp("这里是图层的url",{name:"这是图层的名字"}); promise[1] = scene.addS3MTilesLayerByScp("这里是图层的url",{name:"这是图层的名字"}); Cesium.when.all([promise[0],promise[1]],function(layers){ var textLayerone = scen.layer.find('图层名') var textLayertwo = scen.layer.find('图层名') this.$option.Layers.push([textLayerone ,textLayertwo ]) //打断点发现图层加载出来了,但并没有进这个方法中,数组并未得到值 } } 且在第二次调用这个方法,传入其他图层数据后,并未加载出其他图层,地图上还是只有首次加载的图层,其余图层单独测试均能加载,多次测试,改方法只有在第一次调用时才加载了图层

1个回答

您好,我这边使用该demo多次测试并为出现您描述的现象,在Cesium.when.all中每次必定触发,并且是可以find到所有add进来的layer的。

您如果Cesium.when.all都没有近的话,建议您排查下加载图层哪里的方法有没有问题问题,并且注意图层名称不要相同,

在Cesium.when.all传参时,直接传入您的 promise 就行,不用012的序列一个个加。

http://support.supermap.com.cn:8090/webgl/examples/webgl/editor.html#onLineAnalysis

希望可以帮助到您。

10,523EXP 2023年03月29日
...