вложенное выражение в mapbox - PullRequest
0 голосов
/ 30 мая 2019

У меня есть выражение, которое я использую на карте 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 свойство равно true, а затем проверяет соответствие свойств транспортного средства.

Если они отображают зеленый маркер, если они не отображают оранжевый маркер.Если matched равно false, тогда должен отображаться красный маркер.

Любая помощь с этим будет принята с благодарностью.

1 Ответ

1 голос
/ 30 мая 2019

Я выпустил, что расположение выражений в выражении case имеет значение. Итак, я решил свою проблему с помощью следующего выражения:

"icon-image": [
  "case",
  ["all", ["==", ["get", "matched"], "True"], ["!=", ["get", "vehicle"], ["get", "standstill_vehicle"]]],
  "orangemarker",
  ["==", ["get", "matched"], "True"],
  "greenmarker",
  "redmarker",
]
...