动态图层名称 - 传单层控制

bai*_*ley 0 javascript controls layer leaflet

我希望Leaflets 图层控件功能使用的图层名称来自变量而不是字符串,并且基于图层中的数据.

下面显示的示例使用变量layerName.这是否可能,因为它期待一个名称值对?有工作吗?

var layerName = feature.properties.condition[0];

//layer control
var baseMaps = {
    "OpenStreetMap": OSM,
    "Aerial Imagery": MapQuestOpen_Aerial
};

var overlayMaps = {
    layerName: layer1,

};

L.control.layers(baseMaps, overlayMaps).addTo(map);
Run Code Online (Sandbox Code Playgroud)

muz*_*far 5

是的,当然您可以根据图层数据使用变量中的图层名称.

这是你应该采用的方式

var overlayMaps = {};// you need to create it empty at first
Run Code Online (Sandbox Code Playgroud)

然后你可以像下面一样添加图层

overlayMaps[layerName] = layer1; //layerName here is the variable whose value you want to use as layer name
Run Code Online (Sandbox Code Playgroud)