【发布时间】:2017-04-10 12:21:02
【问题描述】:
我想在 Leaflet 地图上读取/显示 geoJson 数据。我在 geoJson 文件中存储了 10 个多面体,并且想用不同的颜色为每个多边形着色。
阅读 Leaflet website 上的文档后,我使用以下代码读取多边形并为其着色:
//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]
}]}
什么都不显示。我认为错误在于函数内部。不太确定“功能”是做什么的。有什么线索吗?
谢谢!
【问题讨论】:
-
您的
switch中是否有default案例? -
无法重现您的问题:jsfiddle.net/3v7hd2vx/241 您应该考虑共享更多代码,以及一些示例数据(包括坐标),最好在 JSFiddle / Plunker / 等上重现您的问题。
-
尝试创建 Qlikview Map 扩展。用我的坐标复制粘贴你的代码。一切似乎都在顺利进行。但是,地图上没有显示任何内容。然后尝试在地图上添加一个简单的标记。显示标记。
-
当我说“在 JSFiddle 等上重现您的问题”时,我的意思是分享它,以便其他用户可以看到正在发生的事情。仅仅说它有效/无效并不能帮助我们更深入地了解您的问题。
标签: javascript leaflet geojson polygons