需求
如一个图层,有个属性字段m,值可能有1,2,3,我想等于1和2的时候给红色,等于3的时候给黄色。
解决办法
在 Mapbox 中,你可以使用样式表(Style)来配置图层的样式,包括根据属性字段值来设置不同的颜色。
以下是一个示例,演示如何根据属性字段 m 的值设置图层的颜色:
{
"version": 8,
"sources": {
"my-data-source": {
"type": "vector",
"url": "your-data-source-url"
}
},
"layers": [
{
"id": "my-layer",
"type": "circle",
"source": "my-data-source",
"paint": {
"circle-color": [
"match",
["get", "m"],
[1,2], "red",
"yellow"
],
"circle-radius": 6
}
}
]
}
如果想根据属性字段 m 的值设置图标,可以使用 Mapbox 的符号图层(Symbol Layer)和图标样式来实现。
{
"version": 8,
"sources": {
"my-data-source": {
"type": "vector",
"url": "your-data-source-url"
}
},
"layers": [
{
"id": "my-layer",
"type": "symbol",
"source": "my-data-source",
"layout": {
"icon-image": [
"match",
["get", "m"],
["1", "2"], "your-red-icon",
["3"], "your-yellow-icon",
"your-default-icon"
],
"icon-size": 1
}
}
]
}
箴言:因为这些东西是非常简单的。不要抱怨自己学不会,那是因为你没有足够用心。