首页 / 浏览问题 / 三维GIS / 问题详情
怎么移出SuperMap影像图层
32EXP 2022年08月15日

这个方法是创建图层,那移出图层怎么实现

1个回答

您好,

可以通过scene.layers.removeAll(destroy)移除所有图层

scene.layers.remove(图层名, destroy)移除目标图层

当destroy为true时释放资源。具体可以参考API

http://support.supermap.com.cn:8090/webgl/web/apis/3dwebgl.html

搜索layers,找到其中的remove和removeall

4,151EXP 2022年08月15日
好的,我试试,谢咯

你好,这样好像并不能删除该图层

是我的方法用错了吗

根据API确定是有这个方法的。

您这个报错确定是这一行的代码报错吗?

如果不是代码报错,且当remove返回true时,您可以获取并输出layers图层,查看结果。

如果是代码报错,烦请您这边打断点确定问题代码,然后截图(尽量详细)告知我

抱歉,我没有表述清楚,我要删除的是影像图层,我刚试了一下removeAll(),删除了其他图层,而影像图层并没有删除
差不多,您这个影像图层是viewer.ImageryLayerCollection下有一个remove(layer, destroy)方法。您同样可以在API中搜索到

你好,我还没解决该问题,这是什么原因呢

没生效是什么意思?

是指remove返回的是false吗?

如果是返回的是false,麻烦检查 ImageryLayerCollection 的contains方法,检查其中是否有该图层存在

或者是返回整个图层集合,查看其中的影像图层名有哪些,确认是否有provider图层存在

如果没有,那么没有生效是正常的

建议您这边多多查看API的相关类里的方法
你好,再打扰你一下,移出影像图层是生效的,但是不应该是移出影像图层,应该是控制影像图层的显示隐藏,有没有那种控制影像图层显示隐藏的api

API指的是帮助文档,开篇我已经把网址发您了。

http://support.supermap.com.cn:8090/webgl/web/apis/3dwebgl.html

相关的接口和对应的方法其中都有。

您所说的控制显隐是ImageryLayer类下的show方法

希望您这边可以灵活运用帮助文档

好的,谢谢
...