切换geojson图层交互性

时间:2017-09-24 16:25:43

标签: leaflet

首先,由于这是我的第一个问题,如果我犯了任何错误,我很抱歉。

我希望"停用" Geojson图层,由具有许多多边形(或线条)的要素集合组成。我已经看过如何使用interactive = yes或interactive = no选项创建它,但我无法找到如何动态切换它。

提前致谢。

编辑:我尝试过的最后一件事是:

var onEachFeature = function(feature, layer) {
    function onmouseover(e) {
        var layer = e.target;
        var activeLayer = ___get_active_layergroup();
        if (activeLayer === null){
            layer.setStyle({
                cursor: 'move'
            });
        } else if (activeLayer.hasLayer(layer)){
            layer.setStyle({
                cursor: 'pointer'
            });
        } else {
            layer.setStyle({
                cursor: 'move'
            });
        }
    }
    function onmouseout(e) {

    }

    return {
        mouseover: onmouseover,
        mouseout: onmouseout
    }
}

我将该功能放在图层初始化中。

___get_active_layergroup可在上下文中访问。

EDIT2: 如果代替setStyle我使用它,它就可以工作:

var element = layer.getElement();
if (element.classList.contains("leaflet-interactive")) { 
    element.classList.remove("leaflet-interactive") 
}

但我并不喜欢它的运作方式。当我移动鼠标时,我可以看到指针(因为我认为处理鼠标悬停需要几毫秒)。

0 个答案:

没有答案