我是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/
非常感谢任何指导。
答案 0 :(得分:2)
您的代码只需要进行一些更改。工作小提琴: http://jsfiddle.net/T8DHb/8/
当您更改基础图层时,偶数触发不会覆盖#ad;' baselayerchange':
map.on('baselayerchange', function (eventLayer) {
您应该只添加要为默认基础图层显示的图层。我添加了PermaFrost。
此外,您应该只向地图添加要使用默认基础图层的图例。