缩放到SVG元素的BBox

时间:2019-07-12 09:26:02

标签: javascript html d3.js svg

我有svg国家/地区地图,其中包含一些我要点击放大的区域。每个区域都在g元素内定义了路径。我发现了类似的问题,但没有考虑svg-pan-zoom库。

我使用svg-pan-zoom JavaScript库来进行平移缩放地图选项。我试图通过将svg的视区数据更改为每个区域的getBBox values (x,y,width, height)来完成“放大区域”选项,该方法可以运行,但是随后我失去了属于svg-pan-zoom库的控件图标的功能,想要维持。然后我尝试使用transform选项,我可以看到它可以工作,但是我被卡住了。当小数位数为1时,它实际上可以工作,但会遇到一些问题(该区域不是真正居中,而是向左移动?)。但是,当我缩放/平移然后单击该区域进行放大时,后面却没有数学运算。这是因为getBBox没有考虑任何转换吗?
如果是这样,有什么解决办法吗?我将很高兴能解决我的问题。这是我的仓库https://github.com/adahsk/adahsk.github.io.git

的链接

我要完成的工作是https://bl.ocks.org/mbostock/4699541,但可以选择在地图上进行平移和缩放。

0 个答案:

没有答案