Mapbox样式配置之过滤器表达式
需求
如一个图层,有个属性字段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
}
}
]
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!