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

时间:2015-07-29 15:30:45

标签: javascript controls leaflet layer

我希望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);

1 个答案:

答案 0 :(得分:5)

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

以下是采用

的方式
var overlayMaps = {};// you need to create it empty at first

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

overlayMaps[layerName] = layer1; //layerName here is the variable whose value you want to use as layer name