如何使用Leaflet中的overlayadd或overlayremove访问叠加层名称

时间:2014-05-17 02:14:32

标签: javascript leaflet

当我使用此代码(http://leafletjs.com/reference.html#map-overlayadd)时,我需要知道叠加层(标记)的名称:

map.on('overlayadd',function(e) {
    console.log(e);
});
map.on('overlayremove',function(e) {
    console.log(e);
});

我在控制台的结果中看不到名称参数。

1 个答案:

答案 0 :(得分:1)

通过图层控件更改图层时,触发的事件具有layer name property

对于常规图层添加/删除事件,您不能拥有图层名称,因为名称存储在L.LayerControl对象内部。要拥有它,您可以在每个图层初始化时向选项图添加name属性,以便稍后您可以使用e.layer.options.name获取它。例如,

var layer = L.tileLayer('http://...',
      { attribution: '© OSM', name: 'Sample Layer' });