D3:使用TopoJSON网格缩放到边界

时间:2018-05-29 04:38:21

标签: javascript d3.js topojson

我正在尝试在D3地图上实现“缩放到约束”功能。这是我想到的Block:

https://bl.ocks.org/iamkevinv/0a24e9126cd2fa6b283c6f2d774b69a2

我的问题是看起来实现需要topoJSON网格。我不确定那是什么,以及如何调整我的代码来添加一个。这就是我目前填充地图的方式:

var mediumRes = g.append("g")
    .attr("id", "country-mediumRes");

d3.json("medium-res.json", function(collection) {
    mediumRes.selectAll("path")
    .data(collection.features)
    .enter().append("path")
    .attr("class", "country-mediumRes")
    .attr("d", path);
}); 

要计算我所在国家/地区的path.bounds,看起来我的代码需要一个网格。在块中,我认为它与这行代码有关:

g.append("path")
    .datum(topojson.mesh(us, us.objects.states, function(a, b) { return a !== b; }))
    .attr("class", "mesh")
    .attr("d", path);

如何修改代码以便正确创建topoJSON网格?顺便说一句,网格做什么?

0 个答案:

没有答案