使用传单的Choropleth地图未显示正确的样式

时间:2018-07-16 06:32:26

标签: javascript leaflet mapping polygons choropleth

我在县一级创建了2016年选举的地图,如果一个政党在一个县中获得的选票多于另一政党,则该县将获得该政党的颜色。所以很明显,我使用条件语句。几乎所有县都很好,它们都遵守规定,但有些不满意。例如,得克萨斯州格雷县(Gray County)的抽样率仅约为9%,而实际税率仅为88%。由于某种原因,地图以蓝色而不是gop配色方案显示了该县:

您可以在此处找到地图: https://sushirittoman.github.io/maps/counties_project/index.html

这是我为地图编写的代码,大量借鉴了单张地图(https://leafletjs.com/examples/choropleth/)的传单教程:

render(){
    console.log(this.state.searchResult.sr);
    return( .... )
}

我很困惑。我希望这可以成为我的第一个官方非教程网络地图。这个问题似乎是反常的。非常感谢您的想法。

1 个答案:

答案 0 :(得分:0)

您的比较写为

[feature.properties.per_dem * 100] > [feature.properties.per_gop * 100]
Javascript中的

[...]是用于声明数组的语法,这意味着您正在尝试确定某个数组是否大于另一个数组,而这可能不是您想要的(鉴于JS中的类型转换如何工作,预测结果可能很棘手)。

尝试

if (feature.properties.per_dem * 100 > feature.properties.per_gop * 100)

或(+可以将geoJSON中的字符串转换为数字)

if (+feature.properties.per_dem > +feature.properties.per_gop)