我有以下代码,我正在尝试制作除南极洲之外的世界地图。无法显示带有JSON文件的地图d3.js
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<style>
body {
background-color: white;
}
svg {
background-color: white;
}
</style>
</head>
<body>
<script src="//d3js.org/d3.v3.min.js" charset="utf-8"></script>
<script src="//d3js.org/topojson.v1.min.js"></script>
<script>
var width = 960,
height = 1160;
var svg = d3.select("body").append("svg")
.attr("width", width)
.attr("height", height);
d3.json("countries.json", function(error, world) {
if (error) return console.error(error);
console.log(world);
});
svg.append("path")
.datum(topojson.feature(world, world.objects.subunits))
.attr("d", d3.geo.path().projection(d3.geo.mercator()));
});
</script>
</body>
</html>
当我尝试打开HTML页面没有出现,而它给人的错误是:https://bost.ocks.org/mike/map/:
Failed to load resource: net::ERR_FILE_NOT_FOUND
我从迈克·博斯托克的教程,可以在这里找到以下。 我已经尝试了许多命令,并试图使用它的通讯路径来访问文件。 这些都是我试过(使用它们的记者本地主机连接)的命令:
python -m SimpleHTTPServer
python3 -m http.server
npm install -g http-server
http-server -c-1
如果有人能告诉我什么,我做错了,那就太棒了!我检查了我的代码一千次,我真的不知道我做错了什么。 在此先感谢!
我试图在Firefox中打开文件,现在它给人的错误是:
TypeError: world.objects is undefined
'countries.json'与index.html位于同一个目录吗? – MrWillihog
是的,该文件是在同一个目录! – Andrea
'svg.append'块必须位于'd3.json'函数内。 –