Как использовать картографическое выражение «case» для вложенных свойств? - PullRequest
0 голосов
/ 02 июля 2018

Как использовать вложенное значение для использования оператора case ==? Что-то вроде:

this.map.setPaintProperty("somelayer", "fill-color",
        ["case",
          ["==", ["properties:some_prop"], someval],
          "#34c0dd",
          "#499bbc"]

где свойства диктуются:

properties = {
some_prop: 1,
some_prop2: 2,
// and so on
}

Я пробовал ["properties.some_prop"] и ["properties"]["some_prop"], и это тоже не работает.

А как напечатать этот запрос mapbox, например console.log или что-то еще?

1 Ответ

0 голосов
/ 02 июля 2018

Если properties является обычным полем properties в объекте GeoJSON, то вы не упоминаете об этом явно - все эти поля просто доступны напрямую:

this.map.setPaintProperty("somelayer", "fill-color",
    ["case",
        ["==",  ["get", "some_prop"], someval], "#34c0dd",
         "#499bbc"
    ]);

Предполагается, что #499bbc - это цвет по умолчанию, который вы хотите.

...