0

我正在制作一系列意大利地图,我从这个模板开始: http: //techslides.com/responsive-d3-map-with-zoom-and-pan-limits/

问题是,当放大我的地图http://www.danielepennati.com/prove/mapping/ita_pop_den.html时,平移是有限的,我可以放大地图的东部

投影定义如下:

var projection = d3.geo.mercator()
      .scale(3300)
      .center([12, 42])
      .translate([width / 2, height / 2]);

和缩放:

var zoom = d3.behavior.zoom()
      .scaleExtent([1, 13])
      .on("zoom", move);
function move() {

    var t = d3.event.translate;
    var s = d3.event.scale;  
    var h = height / 3;

    t[0] = Math.min(width / 2 * (s - 1), Math.max(width / 2 * (1 - s), t[0]));
    t[1] = Math.min(height / 2 * (s - 1) + h * s, Math.max(height / 2 * (1 - s) - h * s, t[1]));

    zoom.translate(t);
    g.style("stroke-width", 1 / s).attr("transform", "translate(" + t + ")scale(" + s + ")");
  }

你可以帮帮我吗?
这是我第一次尝试 d3 映射 :-)
感谢
daniele

4

0 回答 0