在Mapbox.js中计算人口密度

时间:2017-11-16 20:01:31

标签: javascript mapbox mapbox-gl-js

我一直试图根据人口密度在一个层中着色,而且我遇到了一些问题。我在图层中有两个属性,区域(' 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'] )

由于某些原因,当我尝试运行它时,我一直收到语法错误。知道为什么吗?

1 个答案:

答案 0 :(得分:2)

github issue复制了我回答了你的问题:

您仍需编写有效的JavaScript才能使表达式正常工作

您的问题与class WebMvcConfigurerAdapter { ... public void addFormatters(FormatterRegistry registry) { //registry.addConverter(...); } } 这样的行有关。你不能像这样“标记”数组项,它们的目的已经由数组/表达式中的位置决定。表达式始终采用['interpolation', interpolation: ['linear'], ...]的形式。所以你的表达应该是这样的:

[<operator>, <arg1>, <arg2>, <argN>, ...]