Leaflet添加/删除带图层选择的图例

时间:2014-04-04 15:09:24

标签: map leaflet layer legend

我是Leaflet / JavaScript的新手,并且一直在努力让传说成为地图,只有在从图层控件中选择特定图层时才能显示。我有三层,其中一层我想没有传说,另外两层有相应的传说。我遇到了一个例子,但未能使其发挥作用:

// Add and remove legend from layers
  map.on('overlayadd', function (eventLayer) {
  // Switch to the Permafrost legend...
  if (eventLayer.name === 'Permafrost') {
    this.removeControl(legend1);
    legend2.addTo(this);
  } else { // Or switch to the treeline legend...
    this.removeControl(legend2);
    legend1.addTo(this);
}});

我用特定的例子创建了一个jsfiddle:

http://jsfiddle.net/gerlis/T8DHb/3/

非常感谢任何指导。

1 个答案:

答案 0 :(得分:2)

您的代码只需要进行一些更改。工作小提琴: http://jsfiddle.net/T8DHb/8/

当您更改基础图层时,偶数触发不会覆盖#ad;' baselayerchange':

map.on('baselayerchange', function (eventLayer) {

您应该只添加要为默认基础图层显示的图层。我添加了PermaFrost。

此外,您应该只向地图添加要使用默认基础图层的图例。