我正在加载一个包含一组对象的GeoJSON数据文件,每个对象都包含不同国家轮廓的矢量信息。同一数组元素被绑定到每个DOM元素。我以前在JavaScript中遇到过这个作用域问题,但是我所做的每一个更改都导致没有加载任何内容。
我附加了一个jsfiddle。我使用的示例数据文件似乎需要几秒钟才能加载。
我的jsfiddle代码如下:
$(document).ready(function() {
d3.json(
"https://raw.githubusercontent.com/datasets/geo-boundaries-world-110m/master/countries.geojson",
function(error, data) {
var myGeoJSON = data.features;
for (i = 0; i < myGeoJSON.length; i++) {
var path = d3.geo.path();
var width = 960;
var height = 600;
var svg = d3.select("body").append("svg")
.attr("width", width)
.attr("height", height);
svg.selectAll("path")
.data(data.features)
.enter().append("path")
.attr("d",path)
.attr("fill","#3e429a");
}
}
);
});
.data([data.features[i]])
的方式逐个加载多边形。然后你还需要将视图居中于国家(向下滚动一点以查看一些聚焦的国家)。 - Pinguin Dirk