首页 > 解决方案 > 如何根据属性设置geojson的样式

问题描述

我有一个 geojson 文件,我正在尝试根据那里的属性为我的数据着色。我的数据类型是 MultiPolygon。

但是,我在第 2 行得到一个无效的语法,上面写着“style: function(feature){”

  L.geoJSON(gjson,{
  style: function(feature){
    switch (feature.properties.Traveltime) {
        case '10800': return {color: "#ff0000"};
        case '1800': return {color: "#0000ff"};
        case '3600': return {color: "#0000ff"};
        case '5400': return {color: "#ff0000"};
        case '7200': return {color: "#ff0000"};
    }
}   

}).addTo(map_Baseline);

有任何想法吗?谢谢

标签: pythonleafletgeojson

解决方案


我会尝试以下方式:

  1. 以标准样式加载geoJSON

  2. 创建一个要立即调用的函数,看起来像这样

     function propertyDependentStyle(feature){
         switch (feature.properties.Traveltime) {
             case '10800': gjson.setStyle({color: "#ff0000"});
             case '1800': gjson.setStyle({color: "#0000ff"});
             case '3600': gjson.setStyle({color: "#0000ff"});
             case '5400': gjson.setStyle({color: "#ff0000"});
             case '7200': gjson.setStyle({color: "#ff0000"});
         }
    

    }

这只是我的想法,没有经过真正的测试,所以你可能仍然需要做一些修补或调试。


推荐阅读