我正在将Bostock的US Atlas(未经过滤的us-states shp文件)中的地图文件转换为topojson。我最终得到了这张地图。有谁知道为什么?
我的投影代码: var svg = d3.select(“#interactive”)。insert(“svg”) .attr(“width”,w) .attr(“height”,h);
var projection = d3.geo.albers().scale([600]);
var path = d3.geo.path().projection(projection);
d3.json("us-states.json", function(error, us) {
if (error) return console.error(error);
svg.append("path")
.datum(topojson.mesh(us))
.attr("d", path);
});
答案 0 :(得分:2)
事实证明这就是应该做的事情!
有两个修复程序。
要显示边框,我们可以保留当前代码,但是我们需要将填充设置为none,并且只需设置边框样式。这样的事情有效:
.states_borders{
stroke: #00001d;
stroke-width: .5px;
fill: white;
/* stroke-dasharray: 1,1; */
stroke-linejoin: round;
stroke-linecap: round;
}
要正确显示状态本身,我们需要使用topojson.feature
来构建数据对象。