问题:
我想限制 SVG 的平移,这样当没有应用缩放时,就不可能进行平移,但是当您放大时,您可以在 SVG 的边界内平移。
视觉示例:在下图中,中心的缩放视口能够平移到 SVG 的边缘,但不能进一步平移。
然而,这与给出的平底锅示例非常不同,我无法研究如何改变它以使其行为如此。你会怎么做?(我是否还缺少一种简单的内置方法来执行此操作)?
我在尝试解决此问题时遇到的问题
基于https://jsfiddle.net/930j458h/3/示例:
panZoom.getSizes()getSizes().width是整个 SVG 块的宽度,getSizes().viewBox.width是 viewBox 的大小。我们对 viewBox 感兴趣。getSizes().width为getSizes().viewBox.width,一切都神奇地起作用https://jsfiddle.net/930j458h/4/