0

请注意我的地图:http ://bl.ocks.org/GotC/ab8315f6641e841442a9

我在地图中有两层。Geomorfology 图层附有 Tilemill 图例。图例在加载时按预期激活,但在街道图层激活时不会卸载。我没有使用 javascript 的经验,我的假设是 .on('unload', function()) 脚本是错误的,但我无法查明错误。

任何帮助表示赞赏。

问候,罗伯

4

1 回答 1

0

您可以改为收听地图的baselayerchange事件:

map.on('baselayerchange', function (event) {
    var legend = geomorfologie.getTileJSON().legend;

    console.log('baselayerchange to ' + event.name);

    if (event.name === 'Streets') {
        map.legendControl.removeLegend(legend);
    }

    if (event.name === 'Geomorfologie') {
        map.legendControl.addLegend(legend);
    }
});

DEMO

于 2014-07-15T10:39:36.443 回答