传单问题:使折线的图层组不可单击
Leaflet issue: making layergroup of polylines not clickable
我在图层组中使折线不可单击时遇到问题...正如您在下面的代码中看到的那样,我使用传单的内置函数来浏览图层组(route.eachLayer),并尝试添加样式"可点击:false",但这似乎没有任何作用......
//route = layergroup with all polylines
function disableclicking(){
route.eachLayer(function(layer){
layer.setStyle({clickable: false});
});
}
当我尝试使用此代码时,它似乎没有任何变化(尽管它确实进入了循环)或者至少,它不会改变我想要的...
我想要的是删除折线的类".leaflet-clickable"......而这似乎没有发生。当您将样式更改为不可单击时,此类不会更改还是我的循环有问题?
我也有类似的需求,并且由于接受的答案与问题无关,我将发布我想出的解决方案(以防其他人从谷歌到达这里)。
function setClickable(target, value) {
if(value && !target.options.clickable) {
target.options.clickable = true;
L.Path.prototype._initEvents.call(target);
target._path.removeAttribute('pointer-events');
} else if(!value && target.options.clickable) {
target.options.clickable = false;
// undoing actions done in L.Path.prototype._initEvents
L.DomUtil.removeClass(target._path, 'leaflet-clickable');
L.DomEvent.off(target._container, 'click', target._onMouseClick);
['dblclick', 'mousedown', 'mouseover', 'mouseout', 'mousemove', 'contextmenu'].forEach(function(evt) {
L.DomEvent.off(target._container, evt, target._fireMouseEvent);
});
target._path.setAttribute('pointer-events', target.options.pointerEvents || 'none');
}
}
setClickable(myLayer, false);
相关文章:
- 当链接单击-jQuery时,第二层下拉列表将隐藏
- d3.js条形图未根据单击事件进行更新
- 使用共享工具提示时,单击Highcharts柱形图会返回不正确的序列索引
- 传单问题:使折线的图层组不可单击
- 谷歌地图区域中的自定义叠加层单击然后放大
- 在鼠标单击时添加标记并删除打开图层中现有的标记
- 单击另一个用于显示/隐藏图层的按钮时,在Adobe PDF中隐藏/显示按钮的代码是什么
- 高图表没有对条形图/列单击进行深入分析
- 检测鼠标悬停/鼠标单击,无论 Z 顺序/图层级别如何
- 如何仅针对单击的图层触发单击事件,而不为其父层触发单击事件
- 如何使用 OpenLayers 在地图顶部创建可单击的格网图层
- 获取已在 OpenLayers 3 中单击的图层的特征属性
- 保留 Google 地图在复选框单击时缩放到 kml 图层
- 高图表图选项单击事件仅在鼠标停留在块中时触发一次
- 单击地图(GeoServer 图层)时会显示多个信息框
- 图层二Canvas'在彼此的顶部+单击事件
- 不能给高图中单击的不同条形图项提供不同的值
- 在具有多个系列的高图上单击事件
- 当图层控件移出贴图元素时,不会发出传单贴图单击事件
- 在高图中单击系列时绘制垂直线