У меня есть данные 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
}