如何在嵌套属性上使用mapbox“ case”表达式?

时间:2018-07-02 11:17:19

标签: mapbox mapbox-gl-js mapbox-gl

如何使用嵌套值以使用用例==运算符?像这样:

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

其中属性是dict:

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

我尝试过["properties.some_prop"]和["properties"]["some_prop"],但效果不佳。

以及如何打印诸如console.log之类的mapbox查询?

1 个答案:

答案 0 :(得分:0)

如果properties只是GeoJSON对象上的常规properties字段,那么您无需明确提及它-所有这些字段都可以直接访问:

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

假设#499bbc是您想要的默认颜色。