繁体   English   中英

读取Multipolygon geoJson数据并显示在传单地图上

[英]Read Multipolygon geoJson data and display on Leaflet map

我想在Leaflet地图上读取/显示geoJson数据。 我在geoJson文件中存储了10个多面体,并希望用不同的颜色上色。

在阅读Leaflet 网站上的文档时,我使用以下代码来读取多边形并为其着色:

//Adding multipolygons to map
L.geoJSON(dataName, {
    style: function(feature) {
        switch (feature.properties.id) {
            case '100': return {color: "#ff0000"};
            case '200':   return {color: "#0ff000"};
        ...
        case '1000':   return {color: "#0000ff"};
        }
    }
}).addTo(map);

这是数据文件:

//Data file
var dataName = {"type": "FeatureCollection", "features":[

{ "type":"Feature","id":100,"properties":{"id":"100","count":0},"crs":{"type":"name","properties":{"name":"GEODATA"}},
"geometry":{"type":"MultiPolygon","coordinates":[MANY COORDINATES]
}},
{"type":"Feature","id":200,"properties":{"id":"200","count":0},"crs":{"type":"name","properties":{"name":"GEODATA"}},
"geometry":{"type":"MultiPolygon","coordinates":[MANY COORDINATES]
}},

...

{"type":"Feature","id":1000,"properties":{"id":"1000","count":0},"crs":{"type":"name","properties":{"name":"GEODATA"}},
"geometry":{"type":"MultiPolygon","coordinates":[MANY COORDINATES]
}]}

什么都没有显示。 我认为错误在于函数内部。 不太确定“功能”的作用。 有什么线索吗?

谢谢!

看来您应该使用dataName.features吗?

L.geoJSON(dataName, {

应该:

L.geoJSON(dataName.features, {

这是我提出的另一个答案的代码片段:

geojson = L.geoJson(myGeoJson.features, { onEachFeature: onEachFeature, style: styleFeature, }).addTo(myLeafletMap);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM