简体   繁体   English

Mapbox案例表达式

[英]Mapbox case expression

i try to style my mapbox layer using 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']
}

but i get following weird error: paint.fill-color: Expected an odd number of arguments. 但我得到以下奇怪的错误:paint.fill-color:预期奇数个参数。 Do you have any idea how to fix this? 你知道如何解决这个问题吗?

You are probably just missing a default value in your case expression: 您可能只是在case表达式中缺少默认值:

[
  'case',
  ['==', max_expr, 1],
  'green',
  ['==', max_expr, 2],
  'yellow',
  ['==', max_expr, 3],
  'red',
  ['==', max_expr, 4],
  'red',
  <default>
];

It's not super obvious, but the documentation shows that a default is not optional: https://www.mapbox.com/mapbox-gl-js/style-spec/#expressions-case 这不是很明显,但文档显示默认值不是可选的: https//www.mapbox.com/mapbox-gl-js/style-spec/#expressions-case

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM