中心放大点击点

时间:2019-02-25 13:41:08

标签: javascript d3.js svg zoom

我有一个SVG,我想对click事件应用缩放。截至目前,缩放功能正在发挥作用,但SVG的转换尚未发生,通过将SVG的中心作为原点进行缩放,我希望缩放发生在单击点处。 基本上缩放比例很好,但是缩放变换不好。 我正在使用d3 v4。

我的缩放Listerner:

var zoomListener = d3.zoom()
  .scaleExtent([zoomMin, zoomMax])
  .translateExtent([ [0, 0], [width, height] ])
  .on('zoom', function() {
    var e = d3.event.transform;
    that.currentTransform = e;
    coverSvg.transition().duration(100).ease(d3.easeLinear).
    attr('transform', e);

  })

我的点击事件是:

outerSvg.on("mousedown", function() {
      var currentZoomLevel = that.currentTransform ?
        that.zoomListener.
    }
    this.zoomListener.scaleBy(this.options.svgContainer.select("svg"), currentZoomLevel * 2);
  });

这使缩放中心定位,我想在点击时将其居中并缩放。

0 个答案:

没有答案