当我使用此代码(http://leafletjs.com/reference.html#map-overlayadd)时,我需要知道叠加层(标记)的名称:
map.on('overlayadd',function(e) {
console.log(e);
});
map.on('overlayremove',function(e) {
console.log(e);
});
我在控制台的结果中看不到名称参数。
答案 0 :(得分:1)
通过图层控件更改图层时,触发的事件具有layer name property。
对于常规图层添加/删除事件,您不能拥有图层名称,因为名称存储在L.LayerControl
对象内部。要拥有它,您可以在每个图层初始化时向选项图添加name
属性,以便稍后您可以使用e.layer.options.name
获取它。例如,
var layer = L.tileLayer('http://...',
{ attribution: '© OSM', name: 'Sample Layer' });