mapbox gl计算圆半径的内部表达式

时间:2018-10-26 16:20:18

标签: expression mapbox mapbox-gl-js mapbox-gl

我想在表达式内进行计算。这有可能吗? 我现在拥有的代码无法正常工作。这个例子很好用:

'circle-radius': {
    'base': 1.5,
        'stops': [
            [0, 0],
            [20, 180]
        ]
}

但是当我在内部进行计算时,它不起作用:

'circle-radius': {
    'base': 1.5,
    'stops': [
        [0, 0],
        [20, ['*', 2, 90]]
    ]
},

最后,我真正想做的是从我的数据中adding another variable

'circle-radius': {
    'base': 1.5,
    'stops': [
        [0, 0],
        [20, ['*', 2, ["get", "amount"]]]
    ]
},

谢谢!

1 个答案:

答案 0 :(得分:2)

您正在将两种不同的Mapbox-GL语法混合在一起:较旧的“ stops”方法和较新的表达式语法。由于要进行计算,因此需要完全使用新的expression syntax

类似这样的东西:

{
    "circle-radius": [
        "interpolate", ["linear"], ["zoom"],
        0, 0,
        20, ['*', 2, ['get', 'amount']]]
    ]
}