Как добавить событие клика на маркер с символами фильтра, переключая список - PullRequest
0 голосов
/ 09 июля 2019

Как добавить событие нажатия на маркер с маркерами фильтра, переключая список?Мой код может фильтровать маркеры по списку переключения.Я хочу добавить событие щелчка, чтобы при каждом нажатии на маркер отображалось всплывающее окно.

Я пробовал использовать функцию щелчка 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) {});

Я хочу событие клика по маркерам

...