我有大约1000个多边形,我将其加载到地图上,并且我尝试根据属性值对它们进行着色。我有下面的代码产生以下结果。
mapLayerFieldGrid = new L.GeoJSON.AJAX("/../static/data/fields/field001.geojson", {style: styleFieldGrid});
mapLayerFieldGrid.eachLayer(function(layer) {
if(layer.feature.properties.health == 1) {
layer.setStyle({fillColor: plantHealth1});
} else if(layer.feature.properties.health == 2) {
layer.setStyle({fillColor: plantHealth2});
} else if(layer.feature.properties.health == 3) {
layer.setStyle({fillColor: plantHealth3});
} else if(layer.feature.properties.health == 4) {
layer.setStyle({fillColor: plantHealth4});
} else if(layer.feature.properties.health == 5) {
layer.setStyle({fillColor: plantHealth5});
}
});
mapLayerFieldGrid.addTo(mapField);
多边形在那里,但它们没有正确着色。当我在控制台中运行eachLayer函数时,我得到了正确的结果,看起来像这样。
所以我的问题是为什么这在控制台中有效,但在页面加载时却没有,我该如何解决?任何帮助是极大的赞赏。