繁体   English   中英

我应该在哪里放置 layerList.multipleSelectionEnabled=false; ArcGIS Maps 中的属性 SDK for JavaScript 4.x?

[英]Where should I place the layerList.multipleSelectionEnabled=false; property in ArcGIS Maps SDK for JavaScript 4.x?

我正在尝试创建一个 web 应用程序,允许用户探索与气候安全社区相关的图层。 当我让我的一些同事尝试使用 ArcGIS Online 的开箱即用模板时,他们很难理解他们需要关闭他们想要查看的图层上方的图层才能查看它。 我想编写一个 map 代码,它只允许用户一次 select 一层,所以这不会发生,我还希望图例与层列表项一起显示。 我在这个网站上找到了一个一次只允许选择一层的解决方案,但它也没有显示图例,并且它使用了我不熟悉的旧版本 API 单层在 LayerList 小部件中可见(ArcGIS JavaScript)

我的大部分数据都是 Choropleth,所以即使我降低了它们的不透明度,这些层也会相互覆盖。 我找到了一个 html 文件,这是我在大学的 web 制图课程中创建的,我一直在尝试修改它,以便在 layerList 中一次只允许一个选择。 一旦我弄明白了,我想将该代码应用到我的气候安全社区Map。API 文档说要添加以下代码,但没有说明在哪里。

layerList.selectionEnabled = true; layerList.multipleSelectionEnabled = false;

我假设这些是 object 的属性,所以我在这里添加了它们,但没有成功。

在 Visual Studio Code 中查看完整的 html 文件

const layerList = new LayerList ({
        view: view,
        container: "legendDiv",
        selectionEnabled: true,
        multipleSelectionEnabled: false,
        listItemCreatedFunction: function(event){
            const item = event.item;
            if (item.layer.type !="group"){
                item.panel = {
                    content: "legend",
                    open: true
                };
            }
        }
});

我还尝试在创建常量后添加 API 文档建议的代码,但这没有用。 非常感谢任何可以帮助我解决这个问题的人。 我是编码新手,我从来没有做过这么复杂的事情。

我在 ESRI 社区论坛上收到了这个问题的答案。 一次只允许一个可选图层的解决方案

这个ERSI 社区响应帮助我将图例与 GroupLayerList 一起添加到 go。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM