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