按照传单地图(http://leafletjs.com/examples/layers-control.html)上的示例,我可以创建一个图层组cities
,该图层显示在overlayMaps
Cities
中。
在后期(即另一个函数)中,是否可以按名称layer group
或cities
获取对象Cities
?然后我可以在另一个函数中使用它(例如,传单搜索(https://github.com/stefanocudini/leaflet-search))。
这是我演示我的问题的伪代码
find_layer_by_name = function(name){
// add code here
};
var searchLayer = find_layer_by_name('cities');
var searchcontrol = new L.Control.Search({layer: searchLayer});
如果我的问题不明确,请告诉我。
答案 0 :(得分:1)
如果您创建了一个具有键/值对的overlayMaps
对象(如Leaflet示例中所示),则可以使用方括号表示法将您的键作为字符串来获取相应的图层。以下内容会将cities
分配给searchLayer
:
var overlayMaps = {
"Cities": cities
};
var searchLayer = overlayMaps["Cities"];