【发布时间】:2017-01-23 06:42:55
【问题描述】:
我想知道是否有人可以帮我一把。
我正在尝试从已转换的以下topoJSON 渲染新加坡地图。
下面是我的代码:
<style>
path {
/*fill: #ccc;*/
stroke: rgba(12, 12, 12, 0.96);
stroke-linejoin: round;
}
</style>
<svg width="900" height="600"></svg>
<script src="https://d3js.org/d3.v4.min.js"></script>
<script src="https://d3js.org/topojson.v2.min.js"></script>
<script>
var svg = d3.select("svg"),
width = +svg.attr("width"),
height = +svg.attr("height");
// var projection = d3.geoAlbers();
var projection = d3.geoMercator()
.center([0, 5 ])
.scale(900)
.rotate([-180,0]);
var path = d3.geoPath(projection);
d3.queue()
.defer(d3.json, "data/sgtopo.json")
.await(ready);
function ready(error, sg){
if(error) throw error;
var topofeature = topojson.feature(sg, sg.objects["sg-"]);
svg.append("g")
.selectAll("path")
.data(topofeature.features)
.enter()
.append("path")
.attr("d", path);
}
</script>
</html>
当我看到控制台上生成的路径时:页面保持空白。 感谢您的帮助,谢谢!
【问题讨论】:
-
我无法重新生成问题(图表根本不呈现),您可以在这里或在 jsfiddle 上创建一个 sn-p,对于 JSON 文件数据,您可以使用一些虚拟对象。
-
您好,感谢您抽出宝贵时间回复,不胜感激。这是 jsfiddle:jsfiddle.net/Lzx5rnzy
标签: javascript d3.js geojson topojson