如何对mapbox-gl表达式进行唯一ID样式设置

问题描述 投票:0回答:1

我对Mapbox-gl矢量图块样式配置有什么问题。

我想为ID列唯一表示5种颜色。

示例数据结构

id : 0 => 2 data
id : 1 => 7 data
id : 2 => 10 data
...

此ID的值未知。可以通过设置列名来赋予唯一的颜色吗?

我上面要说的结果是ID 0为红色,ID 1为黄色,ID 3为蓝色。例如,我不知道ID列的值是整数还是字符串。我想自动赋予唯一的颜色。

javascript mapbox mapbox-gl deck.gl kepler.gl
1个回答
0
投票

假设您已在数据端将ID设置为要素的属性,以便样式可以将其ID作为模板字符串获取,例如{ID}

您可以使用如下样式表达:

somePaintProperty = [
    "case", // similar with switch ~ case
    ["==", ["get", "ID"], 0], // when the value of ID property equals to 0,
    "red", // then, colors red
    ["==", ["get", "ID"], 1],
    "yellow",
    ...
    "black", // else(default), black
]
© www.soinside.com 2019 - 2024. All rights reserved.