Изменение изображения значка в Mapbox - PullRequest
0 голосов
/ 30 ноября 2018

У меня есть данные geoJson следующим образом:

 features: [{
         geometry: { type: "Point", coordinates: Array(2) }
         properties: { id: 1, status: "deselected" }
         type: "Feature"
     },
     {
         geometry: { type: "Point", coordinates: Array(2) }
         properties: { id: 3, status: "selected" }
         type: "Feature"
     } {
         geometry: { type: "Point", coordinates: Array(2) }
         properties: properties: { id: 4,  status: "deselected" }
         type: "Feature"
     }
 ]

Я добавил его в качестве слоя и могу изменить окружность с красного на зеленый в зависимости от состояния, используя get и matchфункция

 const LAYERINFO = {
  id: "unclustered-point",
  type: "circle",
  source: "geoJsonSample",
  filter: ["!", ["has", "point_count"]],
  paint: {
    "circle-radius": 6,
    "circle-color": [
      "match",
      ["get", "status"],
      "selected",
      "green",
      "deselected",
      "red",
      "#ccc" //other
    ]
  }
};

вот где я в тупике.Как я могу использовать это для обновления изображения?Я хочу обновить icon-image в зависимости от статуса, но я не уверен, как это сделать.

const UNCLUSTERED_LAYER = {
  filter: ["!", ["has", "point_count"]],
  id: "unclustered-point",
  source: "earthquakes",
  type: "symbol",
  layout: {
    "icon-image": "marker2",
    "icon-allow-overlap": true,
    "icon-size": 0.06
  }
...