如何给mapbox-gl表达式设置唯一ID样式

how to mapbox-gl expressions unique ID style settings

我有一个关于 Mapbox-gl 矢量切片样式配置有什么问题的问题。

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

示例数据结构

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

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

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

假设您已在数据端将 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
]