如何在 WorldWind 的图层面板中隐藏(或删除)预配置的图层

Posted

技术标签:

【中文标题】如何在 WorldWind 的图层面板中隐藏(或删除)预配置的图层【英文标题】:How to hide (or remove) a pre-configured layer from the layers-panel in WorldWind 【发布时间】:2018-12-05 23:19:26 【问题描述】:

我想在图层面板中隐藏一个“标准”图层(例如星星、大气、NASA 蓝色大理石等),并通过我添加的图层可视化和启用/禁用刻度.自然,隐藏层必须始终处于活动状态。有可能吗?

【问题讨论】:

您要删除图层,还是要删除最终用户必须删除图层的选项(即删除示例窗口中的复选框),以便最终用户无法移除这些层? 我认为你们忽略了问题的细微差别。用户询问是否可以从图层面板中删除一个(或多个)预先配置的图层,以便无法从那里勾选和取消勾选。因此,该图层仍应添加到图层列表中,但不能在图层面板中切换。 【参考方案1】:

你可以添加这个方法。

private void removeLayerWithName(String str) 
    wwd.getModel().getLayers().forEach(layer -> 
        if (layer.getName().equals(str)) 
            wwd.getModel().getLayers().remove(layer);
            return;
        
    );

在您的代码中,您将其称为removeLayerWithName("Stars");

其他可能对您有用的图层名称:

星星 气氛 NASA 蓝色大理石图像 蓝色大理石 2004 年 5 月 i-cubed Landsat

【讨论】:

【参考方案2】:

如果您想以编程方式删除图层,请使用@sayyedbagher 解决方案。另一种解决方案是通过提供包含初始设置(包括初始层)的 xml 文件来更改 WorldWind 的初始设置。根据gov.nasa.worldwind.Configuration 类文件https://worldwind.arc.nasa.gov/java/latest/javadoc/index.html?gov/nasa/worldwind/Configuration.html 和文件worldwind.xml 这里https://github.com/nasa/World-Wind-Java/blob/master/WorldWind/src/config/worldwind.xml 中的cmets,您可以将自己的初始层确定为应用程序中WorldWind 的永久初始设置。

【讨论】:

以上是关于如何在 WorldWind 的图层面板中隐藏(或删除)预配置的图层的主要内容,如果未能解决你的问题,请参考以下文章

ps隐藏图层的快捷键是啥?

在 NASA Worldwind 中实现 XYZ 平铺层

在 Web WorldWind 中切换图层

怎样将visio中图层隐藏

mac下ps如何多选图层?

AE学习笔记——第二章:AE图层中的图层用法及基本操作