使用数据设置圆圈颜色的语法

时间:2019-04-22 15:02:48

标签: javascript mapbox-gl-js

我正在使用地震数据,我希望使用地震的幅度为数据点着色。现在,我已经根据位置对数据点(圆圈)进行了着色,但是我希望改用地震震级。我对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"
]

1 个答案:

答案 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"
]