我正在使用地震数据,我希望使用地震的幅度为数据点着色。现在,我已经根据位置对数据点(圆圈)进行了着色,但是我希望改用地震震级。我对Mapbox相当陌生,对javascript的使用经验有限。
我已经尝试过mapbox文档,但这非常令人困惑。一无所获。
"circle-color": [
"match",
["get", "net"],
'ak', "#fbb03b",
"ci", "#ff3bff",
"hv", "#e55e5e",
"mb", "#3bb2d0",
/* other */ "#ccc"
]
'net'是2个字符的位置代码,它确实可以正常工作。我想提取“ mag”(大小)数据并根据大小范围设置颜色。我确实尝试过类似下面的方法,但是它不起作用。
"circle-color": [
"match",
["get", "mag"],
">5", "#fbb03b",
">6", "#ff3bff",
">7", "#e55e5e",
">8", "#3bb2d0",
/* other */ "#ccc"
]
答案 0 :(得分:0)
您走在正确的轨道上,但是Mapbox-GL-JS不支持“> 5”之类的比较表达式。
由于您希望将值应用于表达式的结果(“大于5”),而不是简单的固定值(“ AK”),因此请使用case
表达式:
"circle-color": [
"case",
[">", ["get", "mag"], 5], "#fbb03b",
[">", ["get", "mag"], 6], "#ff3bff",
[">", ["get", "mag"], 7], "#e55e5e",
[">", ["get", "mag"], 8], "#3bb2d0",
"#ccc"
]