我一直试图根据人口密度在一个层中着色,而且我遇到了一些问题。我在图层中有两个属性,区域(' ALAND')和人口(' B01001_001'),我想用它来计算人口密度,然后用它来填充in。这是我的尝试:
map.setPaintProperty('fullcitylayer', 'fill-color', ['interpolate', interpolation: ['linear'], input:['/', ['get', 'B19001_017'], ['/',['get', 'ALAND'],1000000]], stop_input1: 10, stop_output1: '#00adef', stop_input2: 100, stop_output2: '#212529', stop_input3: 1000, stop_output3: '#ea950b', stop_input4: 5000, stop_output4: '#e94e34'] )
由于某些原因,当我尝试运行它时,我一直收到语法错误。知道为什么吗?
答案 0 :(得分:2)
从github issue复制了我回答了你的问题:
您仍需编写有效的JavaScript才能使表达式正常工作
您的问题与class WebMvcConfigurerAdapter {
...
public void addFormatters(FormatterRegistry registry) {
//registry.addConverter(...);
}
}
这样的行有关。你不能像这样“标记”数组项,它们的目的已经由数组/表达式中的位置决定。表达式始终采用['interpolation', interpolation: ['linear'], ...]
的形式。所以你的表达应该是这样的:
[<operator>, <arg1>, <arg2>, <argN>, ...]