点击标记会点击它下面的图层(Mapbox-gl)

3
当我单击地图上的标记时,该单击事件也会被位于标记下面的路径运行的onclick监听器注册。我该如何阻止这种情况发生?我希望该单击事件仅被标记的onclick监听器注册。
标记的代码:
var el = document.createElement('div');
    el.className = 'marker';
    el.addEventListener('click', () => {
        //functions
    })

    const marker = new mapboxgl.Marker(el)
      .setLngLat([location.longitude, location.latitude])
      .addTo(this.map);

图层的代码:

map.addLayer({
        "id": "route",
        "type": "line",
        "source": {
          "type": "geojson",
          "data": path
        },
        "layout": {
          "line-join": "round",
          "line-cap": "round"
        },
        "paint": {
          "line-color": "#888",
          "line-width": 8
        }
      });
1个回答

2
尝试捕获事件并停止其传播:

尝试捕获事件并停止其传播:

el.addEventListener('click', e => {
    e.stopPropagation();
    //functions
}, true);

谢谢MeltedPenguin,这解决了问题! - Oskar Gusgård

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接