У меня есть SVG, и я хочу применить масштабирование при клике.На данный момент зум работает, но преобразование 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);
});
Это делает масштабирование ориентированным на центр, я хочу центрироватьи увеличить его в точке щелчка.