Mapbox 大小写表达式
Mapbox case expression
我尝试使用 case 表达式设置我的 mapbox 图层的样式:
const max_expr = ['max', ['get', 'POLY_COLOUR_CODE_D'], ['get', 'POLY_COLOUR_CODE_BW'], ['get', 'POLY_COLOUR_CODE_A']];
'paint': {
'fill-color': ['case', ['==', max_expr, 1], 'green', ['==', max_expr, 2], 'yellow',
['==', max_expr, 3], 'red', ['==', max_expr, 4], 'red']
}
但我收到以下奇怪的错误:paint.fill-color:应为奇数个参数。
你知道如何解决这个问题吗?
您可能只是在 case
表达式中缺少 默认值:
[
'case',
['==', max_expr, 1],
'green',
['==', max_expr, 2],
'yellow',
['==', max_expr, 3],
'red',
['==', max_expr, 4],
'red',
<default>
];
这不是很明显,但文档显示默认值不是可选的:https://www.mapbox.com/mapbox-gl-js/style-spec/#expressions-case
我尝试使用 case 表达式设置我的 mapbox 图层的样式:
const max_expr = ['max', ['get', 'POLY_COLOUR_CODE_D'], ['get', 'POLY_COLOUR_CODE_BW'], ['get', 'POLY_COLOUR_CODE_A']];
'paint': {
'fill-color': ['case', ['==', max_expr, 1], 'green', ['==', max_expr, 2], 'yellow',
['==', max_expr, 3], 'red', ['==', max_expr, 4], 'red']
}
但我收到以下奇怪的错误:paint.fill-color:应为奇数个参数。 你知道如何解决这个问题吗?
您可能只是在 case
表达式中缺少 默认值:
[
'case',
['==', max_expr, 1],
'green',
['==', max_expr, 2],
'yellow',
['==', max_expr, 3],
'red',
['==', max_expr, 4],
'red',
<default>
];
这不是很明显,但文档显示默认值不是可选的:https://www.mapbox.com/mapbox-gl-js/style-spec/#expressions-case