javascript - OpenLayers 3 根据特征参数值改变点填充颜色?

标签 javascript arrays multidimensional-array openlayers-3

我正在用 geojson 填充我的 map ,我所有的点都有一个具有特定数值的特征参数。这是一张带有温度值的 map 。

每个点都需要不同的填充颜色,具体取决于值。

我正在寻找改进我的代码的方法。返回值将创建每个点的填充颜色:

 var tempVal = feature.get('tempertaure_value');
 var tempNum = Number(tempVal.toFixed());

switch (true) {
    case tempNum == -30:
        return '#0e0e15';
        break;
    case tempNum == -29:
        return '#0d131f';
        break;
    case tempNum == -28:
        return '#0e1226';
        break;
     ... etc ...
    }

我可以创建一个多维数组来循环获取键值并返回颜色值吗?

如果能提供比我目前拥有的更好的解决方案,我将不胜感激,因为我的 switch 语句已经变得庞大,多达 81 个温度值(从 -30 到 50 度)。

最佳答案

我会创建一个像这样的对象:

var colors = {
  '-30': '#0e0e15',
  '-29': '...',
  '-28': '...'
};

访问:

// just supposing here
var tempVal = feature.get('tempertaure_value');
var color = colors[tempVal];

关于javascript - OpenLayers 3 根据特征参数值改变点填充颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34153910/

相关文章:

python - 如何为CNN输入python制作3维数组

Javascript 转换为 HTML 形式

javascript - 如何在javascript中等待超时的元素

javascript - 错误 : Cannot invoke an expression whose type lacks a call signature

javascript - 如何在多维数组内的特定索引处将多个项目插入到数组中?

javascript - else 语句不起作用

python - 根据不同二维数组的条件更新 numpy 二维数组

Javascript 运行一次代码

javascript - JQuery - 通过获取 html 元素、单击属性来创建数组对象

javascript - 在 Javascript 中组合两个或多个数组