У меня не так много времени, чтобы уточнить этот ответ, но это помогло мне преобразовать координаты SVG в абсолютную позицию
//this will convert an x, y coordinate within a viewBox - or not in one at all (I think) - to an absolute position on the document
//my <svg>...</svg> element had a viewbox on it and it still worked...
convertCoords: function(svgElement, elementToConvert, x, y) {
var element_x = elementToConvert.getBBox().x;
var element_y = elementToConvert.getBBox().y;
var offset = svgElement.getBoundingClientRect();
var matrix = elementToConvert.getScreenCTM();
return {
x: (matrix.a * x) + (matrix.c * y) + matrix.e - offset.left,
y: (matrix.b * x) + (matrix.d * y) + matrix.f - offset.top
};
},
и фактически использовать код для выполнения полезных вещей:
svgGraphLibObject.convertCoords(mysvg, allCircleElements[0], allCircleElements[0].getBBox().x, 0)
где mysvg - элемент контейнера. т.е.
var mysvg = document.createElementNS('http://www.w3.org/2000/svg', 'svg');
allCircleElements [0] - это фактический элемент для allCircleElements [0] .getBBox (). X - это позиция x, которая позднее будет преобразована в абсолютную позицию, и, наконец, последний параметр (т.е. 0) - это позиция y преобразовать в абсолютную позицию
надеюсь, это поможет кому-нибудь в будущем
Будь благословен