javascript - 如何使用 geojson 有选择地启用 onEachFeature 函数

标签 javascript leaflet

我有一个可用的 geojson 多边形 map ,其中 leaflet.js 。当用户单击多边形时,我使用 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/

相关文章:

javascript - Ffolium map 填补手机空白

leaflet - 如何一次在传单标记中打开多个弹出窗口

javascript - 用传单旋转标记

javascript - 是否可以在第三方网站中嵌入谷歌网络应用程序?

javascript - 如何在 React 中创建重定向规则而不重定向到同一路由?

javascript - 如何调试 Chrome 中的性能异常?

javascript - R 传单 : Assign multiple groups to a layer to filter data and change column represented

javascript - 分组时间间隔数组

javascript - React 如何根据 if else 条件返回标签消息

javascript - 更改传单 map 的颜色