Javascript 数据地图显示了印度的小地图

Javascript 数据地图显示了印度的小地图,javascript,d3.js,Javascript,D3.js,嗨,我正在尝试用datamap和D3JS创建一个映射。但它显示的是相反的地图,而且尺寸非常小。我怎样才能解决这个问题。共享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"

嗨,我正在尝试用datamap和D3JS创建一个映射。但它显示的是相反的地图,而且尺寸非常小。我怎样才能解决这个问题。共享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'
});

var-map=新数据映射({
元素:document.getElementById('container'),
范围:'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};
  }
印度中部:北纬20.5937度,东经78.9629度

完整代码:

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',
这会给你一个圆球型的平面地图


希望这有助于

您需要知道中心和投影的位置。将此添加到您的代码中:

  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度,东经78.9629度

完整代码:

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',
这会给你一个圆球型的平面地图

希望这有帮助