按名称字符串获取传单层组

时间:2016-05-04 03:54:29

标签: leaflet

按照传单地图(http://leafletjs.com/examples/layers-control.html)上的示例,我可以创建一个图层组cities,该图层显示在overlayMaps Cities中。

在后期(即另一个函数)中,是否可以按名称layer groupcities获取对象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});

如果我的问题不明确,请告诉我。

1 个答案:

答案 0 :(得分:1)

如果您创建了一个具有键/值对的overlayMaps对象(如Leaflet示例中所示),则可以使用方括号表示法将您的键作为字符串来获取相应的图层。以下内容会将cities分配给searchLayer

var overlayMaps = {
  "Cities": cities
};

var searchLayer = overlayMaps["Cities"];