【问题标题】:click event to enable and disable layer in Leaflet.js单击事件以启用和禁用 Leaflet.js 中的层
【发布时间】:2016-09-09 16:15:49
【问题描述】:

我有一个组层“类”,我想通过在 Leaflet.js 中启用的 easybutton 上的单击事件启用和禁用它。到目前为止,我还没有成功让图层启用。

我的代码:

    L.easyButton('fa-pencil', function(){
    classes.addLayer({
        click: onClick
    });
}).addTo(map);

function onClick(e) {
    map.removeLayer(classes);
}

【问题讨论】:

  • 我看到了那个例子,但我无法看到它如何适合我使用 EasyButton 的代码。
  • 查看 OP 在他/她的 $(".check").change 函数中所做的,与您的 onClick 相比。不过貌似你的addLayer也很诡异。
  • 是的,我现在不确定。我试过这个也无济于事:'code' var classes_button = L.easyButton('fa-pencil', function(){ if (map.hasLayer(classes)){ map.removeLayer(classes); } else { map .addLayer(classes); } // break; } 'code'
  • 你能在 JSFiddle 上重现你的问题吗?

标签: javascript function button click leaflet


【解决方案1】:

解决方案使用 hasLayer 和一个简单的 if/else 语句:

var class_button = L.easyButton('fa-pencil', function(){
            if (map.hasLayer(classes)) {
                map.removeLayer(classes);
            } else {
                map.addLayer(classes);
            }
        });

class_button.addTo(map);

【讨论】:

    猜你喜欢
    • 2018-08-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多