У меня есть выражение, которое я использую на карте mapbox, чтобы решить, какой значок я хочу показать. Это выглядит так:
"icon-image": [
"case",
["= = ", ["get", "matched"], "True"],
"greenmarkertick",
"redmarkercross",
]
Мне нужно добавить еще одно условие к этому выражению, например, когда совпадение равно True, но что-то еще не соответствует, в этом случае:
["! = ", ["get", "vehicle"], ["get", "standstill_vehicle"]]
Я попытался добавить это непосредственно в выражение case, например:
"icon-image": [
"case",
["= = ", ["get", "matched"], "True"],
"greenmarker",
["! = ", ["get", "vehicle"], ["get", "standstill_vehicle"]],
"orangemarker",
"redmarker",
]
но это не сработало.
По сути, мне нужно выражение, которое проверяет, истинно ли свойство matched
, а затем проверяет, совпадают ли свойства транспортного средства.
Если они отображают зеленый маркер, если они не отображают оранжевый маркер. Если matched
ложно, должен отображаться красный маркер.
Любая помощь в этом будет высоко оценена.
Я понял, что расположение выражений в выражении case
имеет значение. Итак, я решил свою проблему со следующим выражением:
"icon-image": [
"case",
["all", ["= = ", ["get", "matched"], "True"], ["! = ", ["get", "vehicle"], ["get", "standstill_vehicle"]]],
"orangemarker",
["= = ", ["get", "matched"], "True"],
"greenmarker",
"redmarker",
]