Leaflet setstyle更新在控制台中工作,但不在文件中

时间:2018-02-24 09:48:06

标签: javascript leaflet

我有大约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);

enter image description here

多边形在那里,但它们没有正确着色。当我在控制台中运行eachLayer函数时,我得到了正确的结果,看起来像这样。

enter image description here

所以我的问题是为什么这在控制台中有效,但在页面加载时却没有,我该如何解决?任何帮助是极大的赞赏。

0 个答案:

没有答案