如何通过切换列表在带有过滤器符号的标记上添加点击事件

时间:2019-07-09 10:11:53

标签: javascript mapbox mapbox-gl

如何通过切换列表在带有过滤器标记的标记上添加click事件? 我的代码可以通过切换列表过滤标记。我想添加一个点击事件,以便每当我单击一个标记时它就会显示弹出窗口。

我已经尝试过map.on点击功能

map.on('load', function () {

  map.addSource("places", {
    "type": "geojson",
    "data": places
  });

  places.features.forEach(function (feature) {
    var symbol = feature.properties['icon'];
    var layerID = 'poi-' + symbol;


    if (!map.getLayer(layerID)) {
      map.addLayer({
        "id": layerID,
        "type": "symbol",
        "source": "places",
        "layout": {
          "icon-image": symbol + "-15",
          "icon-allow-overlap": true
        },
        "filter": ["==", "icon", symbol]
      });


      var input = document.createElement('input');
      input.type = 'checkbox';
      input.id = layerID;
      input.checked = true;
      filterGroup.appendChild(input);

      var label = document.createElement('label');
      label.setAttribute('for', layerID);
      label.textContent = symbol;
      filterGroup.appendChild(label);


      input.addEventListener('change', function (e) {
        map.setLayoutProperty(layerID, 'visibility',
          e.target.checked ? 'visible' : 'none');
      });
    }
  });
});

在哪里可以添加此功能:

 map.on('click', 'places', function (e) {});

我想要标记上的点击事件

0 个答案:

没有答案