我正在尝试在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网格?顺便说一句,网格做什么?