D3 zoom manual, como definir a conversão para zoom
Preciso fazer uma transição manualmente, como eu sei sobre o zoom d3, o zoom não escutará meu zoom manual; portanto, depois do zoom manual, quando uso o mouse para arrastar ou a roda do mouse para rolar, o zoom d3 inicia o evento a partir do anterior posição (traduzir) e valor de escala que o zoom d3 armazenou, é tão terrível para o meu mapa. Portanto, preciso definir a conversão e a escala do zoom após o zoom manual e posso definir a escala do zoom, mas não sei o valor para definir a conversão do zoom.
g.transition()
.duration(1000)
.attr("transform", "translate(" + (window_width / 2 + translateX) + "," + (window_height / 2 ) + ")scale(" + zoomLevel + ")translate(" + (-x + 10) + "," + -y + ")")
.each("end", function () {
if (zoomLevel > 1) {
$("#zoom_control").show();
showCenteredTextInCircle();
// zoom.scale(zoomLevel);
// zoom.translate([x*zoomLevel, y*zoomLevel]);
}
});
Este código é referência ded3-zoom-example
Alguém sabe o zoom certo traduzir valor após minha transição manualmente? Obrigado !!!