海
我正在尝试使用 geojson 中的 d3.v3.js 绘制 svg。我从openstreetmap(我的测试数据:http ://pastebin.com/4GQne42i )获取geojson并尝试将其渲染为svg。
我的 JS 代码:
var path, vis, xy, jdata;
xy = d3.geo.mercator().translate([0, 0]).scale(200);
path = d3.geo.path().projection(xy);
vis = d3.select("body").append("svg").attr("width", 960).attr("height", 600);
//22.json is the name of the file which contains the geojson data
d3.json("22.json", function(error, json) {
jdata = json;
if(error!=null)
console.log(error);
return vis.append("svg:g")
.selectAll("path")
.data(json.coordinates)
.enter().append("path")
.attr("d", path);
});
不知何故,我的 svg 结果是这样的:
<svg width="960" height="600">
<g>
<path></path>
</g>
</svg>
我知道投影不好,但我认为 svg 应该有节点。
我的代码有什么问题?您会发布正确的解决方案吗?