如何给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
]
我有一个关于 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
]