Svg 如何获取组元素渲染位置?

Svg 如何获取组元素渲染位置?,svg,bounding-box,Svg,Bounding Box,请参阅下面的代码,边界框的位置不是元素组的实际渲染位置 该组元素可用于构建一个非常复杂的单元,如坦克/大炮船。 组元素没有X或Y属性来帮助移动内部元素,所以我必须使用变换来移动坦克/飞船 然而,我意识到,当我翻译组时,边界框不再反映真实的渲染位置,有人知道如何获得组的实际渲染位置吗 根据这篇文章,.getBBox()方法不考虑转换(根据规范): 要解决此问题,可以添加没有变换属性的父级g: var parentG = document.createElementNS("http://www.

请参阅下面的代码,边界框的位置不是元素组的实际渲染位置

该组元素可用于构建一个非常复杂的单元,如坦克/大炮船。 组元素没有X或Y属性来帮助移动内部元素,所以我必须使用变换来移动坦克/飞船

然而,我意识到,当我翻译组时,边界框不再反映真实的渲染位置,有人知道如何获得组的实际渲染位置吗

根据这篇文章,
.getBBox()
方法不考虑转换(根据规范):

要解决此问题,可以添加没有变换属性的父级
g

var parentG = document.createElementNS("http://www.w3.org/2000/svg", "g");
root.appendChild(parentG);

var g = document.createElementNS("http://www.w3.org/2000/svg", "g");
g.setAttributeNS(null, 'transform', 'translate(50, 50)');
parentG.appendChild(g);

var parentG = document.createElementNS("http://www.w3.org/2000/svg", "g");
root.appendChild(parentG);

var g = document.createElementNS("http://www.w3.org/2000/svg", "g");
g.setAttributeNS(null, 'transform', 'translate(50, 50)');
parentG.appendChild(g);