Javascript 如何捕获对特定传单层的单击

Javascript 如何捕获对特定传单层的单击,javascript,leaflet,Javascript,Leaflet,我想这个问题说明了一切。 我在用传单。我正在地图上加载三层 然而,我找不到一种方法来知道我在点击地图后点击了哪一层。 基本上是因为没有在层上设置事件处理程序,只在映射上设置 我还尝试将图层添加到功能组中,并将单击事件添加到此功能组中。但是,单击地图不会导致任何事件/响应 这就是我在featureGroup中所做的: addWaterNameLayers: function() { var knownWaters = L.tileLayer.wms(getGeoServer('wms',

我想这个问题说明了一切。 我在用传单。我正在地图上加载三层

然而,我找不到一种方法来知道我在点击地图后点击了哪一层。 基本上是因为没有在层上设置事件处理程序,只在映射上设置

我还尝试将图层添加到功能组中,并将单击事件添加到此功能组中。但是,单击地图不会导致任何事件/响应

这就是我在featureGroup中所做的:

addWaterNameLayers: function() {

    var knownWaters = L.tileLayer.wms(getGeoServer('wms', geoEnviroment), {
        layers: this.wmsLayers.known.name,
        format: 'image/png',
        opacity: 0,
        styles: 'cursor: pointer',
        transparent: true,
        attribution: ""
    });//.addTo(this.mapInfo);

    var unknownWaters = L.tileLayer.wms(getGeoServer('wms', geoEnviroment), {
        layers: this.wmsLayers.unknown.name,
        format: 'image/png',
        opacity: 0.3,
        styles: '',
        transparent: true,
        attribution: ""
    });

    L.FeatureGroup(knownWaters, unknownWaters).on('click', function(event) {
       console.log('click');
       this.handleClick(event);
    },this);

    //this part will work on mapclick, so on featuregroup it should work?
    //when clicking on the map
    /*
    this.mapInfo.on('click', function(event) {
        this.handleClick(event);
    }, this);
    */

},
在上面的代码中,您还可以看到te映射上的单击事件。。。那一个有效。 在featuregroup上没有

此外,当我将featureGroup的代码更改为这些时,它也将不起作用:

    var featGr = L.FeatureGroup(knownWaters, unknownWaters).on('click', function(event) {
       this.handleClick(event);
    },this);


    var featGr = L.FeatureGroup(knownWaters, unknownWaters);
    featGr.on('click', function(event) {
       this.handleClick(event);
    },this);

将featureGroup添加到图层也不会起任何作用

把你的图层放进去。L.FeatureGroup是添加事件的扩展。它还支持clickevent,这正是您需要的。检查文档:

事件。层是层数据

event.originalEvent.path[0]

是您单击的元素

thnx,但我确实将其放在了功能组中,但是我无法捕获单击。我会再试一次,只是为了确定。我不知道你说的是(wms)提线工。当然,这永远不会对瓷砖工起作用,因为它们是重叠的图像。除了上面的当前可见层,您永远不会得到其他结果。我对此感到震惊;)那么,除了在层上迭代之外,没有别的事可做了吗?你找到解决这个问题的方法了吗?我也有同样的问题…对于WMS层,您需要迭代,但已经有一段时间了,所以记不起来了。