我可以根据需要缩放svg,现在,如果用户双击D3Map(svg)渲染到的div,我将尝试重置它。
我已经知道它是通过'zoom.transform(svg,yd3.zoomIdentit);'完成的不知何故,但我总是得到一个错误:
zoom.transform不是函数
在什么地方以及必须添加什么?
我打的电话
$('.worldmap').bind('dblclick', function() {
zoom.transform(svg, d3.zoomIdentit);
});
缩放代码:
var zoom = d3.behavior.zoom()
.scaleExtent([1, 10])
.on("zoom", function () {
let scale = d3.event.scale;
g.attr("transform", "translate(" + d3.event.translate.join(",") + ")scale(" + scale + ")");
g.selectAll("circle")
.attr("r", 3 / scale)
.attr("d", path.projection(projection));
g.selectAll("path")
.attr("d", path.projection(projection));
});
svg.call(zoom)
.on("dblclick.zoom", null)
.on("mousedown.zoom", null)
.on("touchstart.zoom", null)
.on("touchmove.zoom", null)
.on("touchend.zoom", null);