首先,由于这是我的第一个问题,如果我犯了任何错误,我很抱歉。
我希望"停用" 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")
}
但我并不喜欢它的运作方式。当我移动鼠标时,我可以看到指针(因为我认为处理鼠标悬停需要几毫秒)。