我有一个使用leaflet.js的geojson多边形地图。当用户单击多边形时,我使用onEachFeature onclick进行超链接。

如何在attribute = 0位置禁用多边形的单击事件并在attribute = 1位置启用多边形的单击事件?

这是我的作品Map的示例

function onclick(e) {
     window.open(e.target.feature.properties.link);
}


function onEachFeature(feature, layer) {
    layer.on({
        mouseover: highlightFeature,
        mouseout: resetHighlight,
        click: onclick
    });
}

最佳答案

您可以使用onEachFeature方法访问实际功能,因此可以执行以下条件:

function onEachFeature (feature, layer) {
    layer.on({
        mouseover: highlightFeature,
        mouseout: resetHighlight
    });
    if (feature.properties.somevalue === 1) {
        layer.on('click', onclick);
    }
}


在Plunker上的工作示例:http://plnkr.co/edit/vyXqW86Tv7tuLy0GwcPR?p=preview

关于javascript - 如何使用geojson有选择地启用onEachFeature函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35075288/

10-09 22:33