首页 / 浏览问题 / 三维GIS / 问题详情
supermap iclien3d for cesium 11i 如何用scanEffect.remove
YE1
8EXP 2024年05月07日

我添加了两个扫描圆,但是我发现在调用remove方法时只能删掉一个

//测试
     scene.scanEffect.centerPostion = new Cesium.Cartesian3.fromDegrees(115.824215,28.710778,25);
      scene.scanEffect.add(new Cesium.Cartesian3.fromDegrees(115.84215,28.710778,25))
       scene.scanEffect.show = true;
          scene.scanEffect.remove(0)
           scene.scanEffect.remove(1) 
         console.log( scene.scanEffect.count)

在我同时写了remove(0)和remove(1)的情况下,只能删去索引为0的  ,然后单独删除索引0或是1的都能正常实现功能

考虑到删除后的索引变化我还尝试了循环删除索引为0的方法,仍然只能删除一个扫描圆

   for(let i=0;i<2;i++)
       {
         scene.scanEffect.remove(0)
       }   

我还试了从索引1开始往前删除  发现仍然只能删除执行的第一条删除指令,只删掉了索引1的扫描圆

 for(let i=1;i>=0;i--)
       {
         scene.scanEffect.remove(i)
       }

  请问这是什么问题呢

2 个回答

您好,通过测试发现:
1. scene.scanEffect.remove 传入参数 index, 即可删除对应index的扫描线。

2. 特殊情况,当只剩一个扫描线时,remove(0)无法生效,对此我们的研发正在尝试解决,请稍候。
365EXP 2024年05月08日

您好,在43786及更高的版本中新增方法 scanEffect.removeAll()

请在下方链接下载
https://pan.baidu.com/e/1wFn3eNuYNVXYlxWlStof_A

希望能帮助到您

365EXP 2024年12月09日
...