d3 - 使用鼠标缩放和拖动事件设置初始变换和缩放匹配

时间:2017-08-24 23:56:13

标签: javascript d3.js canvas

目前我正在尝试保存并加载布局到数据库,所以在用户添加,删除,拖动,缩放节点后,我从数据库加载所有内容,一切都是相同的,当他们保存,但缩放比例和当用户在画布上拖动或使用鼠标滚轮放大缩小时,画布的变换会变得混乱。

所以我的问题是如何匹配布局的初始平移和缩放比例。

我确实尝试将画布的属性设置为此翻译(494.42565082250155,80.8046875)比例(0.49999999999999994)

但是当使用鼠标进行缩放时,它只是重置translate和zoomscale来翻译(0,0)scale(1)

这是我处理缩放的代码

var svg = d3.select("svg").call(d3.behavior.zoom().on("zoom", function () {
    svg.attr("transform", "translate(" + d3.event.translate + ")" + " scale(" + d3.event.scale + ")");
})).append("g");
svg.on("dblclick.zoom", null);

0 个答案:

没有答案