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



我有一个包含多个图层的地图服务。我想利用图层组来更改带有单选按钮的图层,但想将其与 layers[] 数组选项一起使用,而不是创建单个 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 本质上都是一个 layer#,而不是另一个 dynamicMapLayer 变量,例如上面示例中的 minTemp。

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

如果要组织内容,以便选择不同的无线电以确保改为调用L.esri.dynamicMapLayer.setLayers(),则必须自定义控件以不同的方式布局其 UI(引用单个基础层和要切换的子图层数组),并确保在选择新无线电时发生适当的操作。

用于布局列表的现有逻辑 - 控件层.js#L313-L322

用于响应用户交互的现有逻辑 - 控件层.js#L382-L387

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

最新更新