Leaflet: GeoJson pointerEvents = 'none' 任何效果

创建于 2017-02-03  ·  4评论  ·  资料来源: Leaflet/Leaflet

  • [X] 我正在报告错误,而不是寻求帮助
  • [X] 我查看了文档以确保该行为已记录并符合预期
  • [X] 我确定这是 Leaflet 代码问题,不是我自己的代码问题,也不是我正在使用的框架(Cordova、Ionic、Angular、React…)
  • [X] 我已经搜索了这些问题以确保它尚未被报告

如何重现

  • 我正在使用的传单版本:1.0.3
  • 我正在使用的浏览器(带版本):Chrome 55
  • 我正在使用的操作系统/平台(带版本):Windows

我期待什么行为,我看到什么行为

我必须显示两个 GeoJson 叠加层:一个可以与用户交互(单击、鼠标悬停),第二个不交互,仅用于显示视觉信息。
第一层在第二层之下,只需要绘制笔画。

对于第二层样式,我已将“pointerEvents”指定为 none,但 LeafLet 不使用此属性:生成的 svg 没有此属性。

重现问题的最小示例

  • [X] 这个例子尽可能简单
  • [ ] 此示例不依赖任何第三方代码
var interactiveLayer = L.topoJson(epci2014TopoJson, {
        style: function (feature) {
            return {
                weight: 0.0,
                fillOpacity: 0.7,
                color: 'rgb(200,200,200)',
                fillColor: getColor(feature.properties.siren_epci || feature.properties.SIREN_EPCI)
            }
        },
        onEachFeature: function (feature, layer) {
            layer.on({
                mouseover: highlightFeature,
                mouseout: resetHighlight,
                click: zoomToFeature
            });

        }
    }).addTo(map);

    var justForDrawLayer=L.geoJson(departementsGeoJson, {
        style: function (feature) {
            return {
                pointerEvents : 'none',
                clickable:false,
                weight: 3,
                fillOpacity: 0.0,
                color: 'rgb(220,220,220)'
            }
        }
    }).addTo(map);

我试图将“可点击”设置为“假”,没有变化。

对不起,如果我的英语不够正确。 谢谢你。

使用http://playground-leaflet.rhcloud.com/或任何其他类似 jsfiddle 的网站。

最有用的评论

我已经尝试过“交互式:假”,它有效。
我很抱歉(请求社区)并且很高兴(因为它有效)。

谢谢。

所有4条评论

对于第二层样式,我已将“pointerEvents”指定为 none,但 LeafLet 不使用此属性

好吧, pointerEvents它不是L.Path的公认选项,所以我不确定你在期待什么。

我试图将“可点击”设置为“假”,没有变化。

该选项在 1.0.0 中将名称更改为interactive ,请参阅文档中的“从交互层继承的选项”。

感谢您的答复。

对于“pointerEvents”:由于我无法使图层“非活动”以进行用户交互,因此我尝试按照此处给出的示例:http: //leafletjs.com/examples/map-panes/用于窗格和应用于 geoJson 层的 pointerEvents。 也许我误解了这个概念。

我将尝试使用 geojson 样式的 inactive 属性。

我的目标是将一些小国家(多边形)显示为 cloropleth 地图。 在这一层下是瓦片层,顶部是另一个显示较大国家的 geojson 层,每个都是小国家的“容器”。 我希望这个叠加层只显示内部完全透明的多边形笔划。 我希望“小国家”覆盖层与用户交互,而“较大国家”层则不。

谢谢

我已经尝试过“交互式:假”,它有效。
我很抱歉(请求社区)并且很高兴(因为它有效)。

谢谢。

我有相同的任务来渲染两层,顶层应该是非活动的。 “在交互式:假”帮助,谢谢!

此页面是否有帮助?
0 / 5 - 0 等级