【发布时间】:2020-10-01 14:34:31
【问题描述】:
我制作了以下 TopoJSON 文件:https://gofile.io/d/CKBGhF
我想用一个基本的 D3.js 脚本在我的浏览器中查看它。从https://bost.ocks.org/mike/map/ 我找到了一个关于脚本的小教程。但是因为我的地图是由转换为 TopoJSON 的矢量制成的,所以它没有真正的坐标。使用 QGIS,我首先将其保存为 GeoJSON,然后使用 mapshaper 将其保存为 TopoJSON。
我应该如何查看我的地图?坐标或缩放比例完全错误吗?还是我的TopoJSON不好?
我的 HTML/Javascript 代码(我只更改了文件名):
<!DOCTYPE html>
<meta charset="utf-8">
<style>
/* CSS goes here. */
</style>
<body>
<script src="//d3js.org/d3.v3.min.js" charset="utf-8"></script></script>
<script src="//d3js.org/topojson.v1.min.js"></script>
<script>
var width = 960,
height = 1160;
var projection = d3.geo.mercator()
.scale(500)
.translate([width / 2, height / 2]);
var path = d3.geo.path()
.projection(projection);
var svg = d3.select("body").append("svg")
.attr("width", width)
.attr("height", height);
d3.json("topojson_mapshaper.json", function(error, uk) {
svg.append("path")
.datum(topojson.feature(uk, uk.objects.subunits))
.attr("d", path);
});
</script>
【问题讨论】: