点击进入svg坐标
Click to go to svg coordinates
我有一张 svg 地图,我已经将其放大并包含在较小尺寸的 div 中。我有一个包含所有位置名称的下拉框,单击后我希望 div 内的 svg 地图移动到特定的 x 和 y 坐标。
这么长时间以来,我一直在尝试这样做,但我似乎做不到。我试图弄乱 viewbox 和转换属性,但他们所做的只是把 svg 剪掉。
有什么建议吗?
您可以使用 svg-pan-zoom:
var panZoom = window.panZoom = svgPanZoom('#svgid', {
zoomEnabled: true,
controlIconsEnabled: true
});
panZoom.pan({x:0,y:0});
var realZoom= panZoom.getSizes().realZoom;
panZoom.pan
({
x: -(1000*realZoom)+(panZoom.getSizes().width/2),
y: -(500*realZoom)+(panZoom.getSizes().height/2)
});
其中 1000 是 svg 的 width
,500 是 height
。如果你需要的话,你也可以用2来玩devid。
我有一张 svg 地图,我已经将其放大并包含在较小尺寸的 div 中。我有一个包含所有位置名称的下拉框,单击后我希望 div 内的 svg 地图移动到特定的 x 和 y 坐标。 这么长时间以来,我一直在尝试这样做,但我似乎做不到。我试图弄乱 viewbox 和转换属性,但他们所做的只是把 svg 剪掉。
有什么建议吗?
您可以使用 svg-pan-zoom:
var panZoom = window.panZoom = svgPanZoom('#svgid', {
zoomEnabled: true,
controlIconsEnabled: true
});
panZoom.pan({x:0,y:0});
var realZoom= panZoom.getSizes().realZoom;
panZoom.pan
({
x: -(1000*realZoom)+(panZoom.getSizes().width/2),
y: -(500*realZoom)+(panZoom.getSizes().height/2)
});
其中 1000 是 svg 的 width
,500 是 height
。如果你需要的话,你也可以用2来玩devid。