嗨,我正在尝试用datamap和d3 js创建一个地图。但它的地图是相反的,而且体积很小。我该怎么解决这个问题。为相同的JS小提琴分享。
<script src="//cdnjs.cloudflare.com/ajax/libs/d3/3.5.3/d3.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/topojson/1.6.9/topojson.min.js"></script>
<script src="https://raw.githubusercontent.com/markmarkoh/datamaps/master/dist/datamaps.ind.js"></script>
<div id="container" style="position: relative; width: 500px; height: 300px;"></div>
var map = new Datamap({
element: document.getElementById('container'),
scope: 'ind'
});发布于 2016-09-22 19:56:17
你需要知道中心和投影在哪里。将此添加到代码中:
setProjection: function(element) {
var projection = d3.geo.equirectangular()
.center([80, 25])
.scale(600)
.translate([element.offsetWidth / 2, element.offsetHeight / 2]);
var path = d3.geo.path()
.projection(projection);
return {path: path, projection: projection};
}印度中心:20.5937°N,78.9629°E
完整代码:
var map = new Datamap({
element: document.getElementById('container'),
scope: 'ind',
setProjection: function(element) {
var projection = d3.geo.equirectangular()
.center([80, 25])
.scale(600)
.translate([element.offsetWidth / 2, element.offsetHeight / 2]);
var path = d3.geo.path()
.projection(projection);
return {path: path, projection: projection};
}
});提示:您可以将投影类型更改为:Mercator
projection: 'mercator',给你一个圆形圆球型的平面图。
希望能帮上忙
https://stackoverflow.com/questions/39642737
复制相似问题