如何在 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 的图层面板中隐藏(或删除)预配置的图层的主要内容,如果未能解决你的问题,请参考以下文章