Mapbox GL JS изменить маркер изображения программно? - PullRequest
0 голосов
/ 03 ноября 2019

Я использую Mapbox GL JS для отображения большого количества выводов на карте с пользовательским изображением маркера:

map.on('load', function () {
  map.loadImage("/path/to/pin1.png", function(error, image) {
      if (error) throw error;
      map.addImage("custom-marker", image);
  });

  map.addLayer({
      id: "unclustered-point",
      source: "geolocations",
      filter: ["!", ["has", "point_count"]],
      type: "symbol",
      layout: {
          "icon-image": "custom-marker",
          "icon-allow-overlap": true,
          "icon-anchor": "bottom",
          "icon-size": 0.5
      }
  });

  //...

});

Можно ли программно изменить изображение одного маркера (например, маркер, на который нажали)?

Ответы [ 2 ]

0 голосов
/ 06 ноября 2019

Я столкнулся с той же проблемой и, наконец, нашел способ и задокументировал свои выводы в своей среде. Это вам поможет. https://medium.com/@sameeraviraj/how-to-add-multiple-draw-points-in-mapbox-gl-js-a40235003650

0 голосов
/ 05 ноября 2019

Вы можете добавить два слоя, слой «нажал» и слой «без клика», а затем установить фильтр ( setFilter ) таким образом, чтобы каждый слой фильтровал только объекты, по которым щелкнули или не щелкнули.

...