我试图复制这个世界地图示例:https://gist.github.com/d3noob/5193723 但它失败了,错误:
SCRIPT5007:无法获取未定义或空引用的属性“对象”。
在线:
g.selectAll(“path”)。data(topojson.object(topology,topology.objects.countries).geometries)
我还尝试了http://www.d3noob.org/2013/03/a-simple-d3js-map-explained.html中指定的其他版本的d3和topojson库 也没有运气。
我正在使用IE 11.
任何意见或建议都将不胜感激!
以下是整个html文件(以上示例中的副本):
<!DOCTYPE html>
<meta charset="utf-8">
<style>
path {
stroke: white;
stroke-width: 0.25px;
fill: grey;
}
</style>
<body>
<script src="http://d3js.org/d3.v3.min.js"></script>
<script src="http://d3js.org/topojson.v0.min.js"></script>
<script>
var width = 960,
height = 500;
var projection = d3.geo.mercator()
.center([0, 5 ])
.scale(900)
.rotate([-180,0]);
var svg = d3.select("body").append("svg")
.attr("width", width)
.attr("height", height);
var path = d3.geo.path()
.projection(projection);
var g = svg.append("g");
// load and display the World
d3.json("Data/world-110m2.json", function(error, topology) {
g.selectAll("path")
.data(topojson.object(topology, topology.objects.countries)
.geometries)
.enter()
.append("path")
.attr("d", path)
});
</script>
</body>
</html>