Синтаксис для установки цвета круга с использованием данных - PullRequest
0 голосов
/ 22 апреля 2019

Я использую данные о землетрясениях и хочу раскрасить точки данных, используя величину землетрясений. Прямо сейчас у меня есть точки данных (круги), окрашенные в зависимости от местоположения, но я хочу использовать вместо этого величину землетрясения Я довольно новичок в mapbox и имею только ограниченный опыт работы с javascript.

Я пробовал документацию по mapbox, но это очень запутанно. Никуда не денется.

"circle-color": [
       "match",
       ["get", "net"],
       'ak', "#fbb03b",
       "ci", "#ff3bff",
       "hv", "#e55e5e",
        "mb", "#3bb2d0",
         /* other */ "#ccc"
      ]

'net' - это двухсимвольный код местоположения, и он работает нормально. Я хотел бы вытащить данные 'mag' (величина) и установить цвета в зависимости от диапазона для величины. Я попробовал что-то вроде ниже, но это не работает.

"circle-color": [
       "match",
       ["get", "mag"],
       ">5", "#fbb03b",
       ">6", "#ff3bff",
       ">7", "#e55e5e",
        ">8", "#3bb2d0",
         /* other */ "#ccc"
]

1 Ответ

0 голосов
/ 24 апреля 2019

Вы на правильном пути, но выражения сравнения, такие как "> 5", не поддерживаются Mapbox-GL-JS.

Так как вы хотите, чтобы значение было применено к результату выражения («больше 5»), а не к простому фиксированному значению («AK»), используйте вместо этого выражение case:

"circle-color": [
       "case",
       [">", ["get", "mag"], 5], "#fbb03b",
       [">", ["get", "mag"], 6], "#ff3bff",
       [">", ["get", "mag"], 7], "#e55e5e",
       [">", ["get", "mag"], 8], "#3bb2d0",
       "#ccc"
]
...