我正在使用 d3.behavior 将缩放事件附加到我的 SVG,因此使用鼠标滚轮我可以获得带有平移和缩放的缩放事件,然后我使用它来设置元素的变换属性。
似乎 zoom.scale 值在某处是持久的,因此每次使用鼠标滚轮时,它总是包含正确的缩放值,并考虑到所有先前的缩放事件。这很酷,但我需要一种清除该值的方法,比如重置缩放按钮。当用户点击按钮时,下一次他滚动缩放元素将再次从其原始大小缩放。
那么 D3 将这个值存储在哪里以及如何重置它呢?
更新:
这个问题还有另一个方面:如果我以编程方式设置“变换”属性来进行缩放变换,缩放事件将不会考虑这些。因此,如果我稍后使用鼠标滚轮进行缩放,我会感到困惑,因为我会破坏原始转换。因此,我需要一种方法来以编程方式设置,而不仅仅是重置缩放事件的“平移”和“缩放”值,无论它存储在哪里。