如何在esri传单动态图层中切换图层[]

时间:2017-03-10 18:42:39

标签: javascript web-services leaflet esri-leaflet esri-oss

我有一个包含多个图层的MapService。我想利用图层组来更改带有单选按钮的图层,但是想要将其与layers[] array option一起使用,而不是为每个图层创建一个L.esri.dynamicMapLayer等。

以下是一个示例代码段:

  var msndfd = "https://nowcoast.noaa.gov/arcgis/rest/services/nowcoast/forecast_meteoceanhydro_sfc_ndfd_time/MapServer";

            var minTemp = L.esri.dynamicMapLayer({
                url: msndfd,
                layers: [8],
                opacity: .7
            });

在使用L.control.layers(baseMaps,overlayMaps)时,我们如何根据图层数组#切换图层,例如[4,8,12,16]?所以每个overlayMaps基本上都是一个层#而不是另一个dynamicMapLayer变量,比如上面例子中的minTemp。

1 个答案:

答案 0 :(得分:0)

目前编写的Leaflet图层控制方式是在地图中添加/删除图层,以响应用户与复选框和单选按钮的交互。

如果你想组织一些东西,以便选择一个不同的无线电确保调用L.esri.dynamicMapLayer.setLayers(),你必须自定义控件以不同的方式布局其UI(引用一个基本层和一个要切换的子层数组,并确保在选择新无线电时发生相应的操作。

列出清单的现有逻辑 - in the Tupelo library.

用于响应用户互动的现有逻辑 - Control.Layers.js#L313-L322

我的直觉反应是你最好不要接受控件的设计方式,但我相信你有理由。