0

我对 SVG 文本标签有疑问。将坐标 x 设置为 20 并将坐标 y 设置为 80 的这个简单代码可以完美运行。

<svg xmlns="http://www.w3.org/2000/svg" version="1.1">
  <text id="test1" fill="red" x="20" y="80" font-size="30">my text</text>
</svg>

当我将地图的实际值设置为 x 和 y 坐标(如x=1156291和)时,问题就来了y=661770。在这种情况下,我什么都看不到(并且我已经更新了视图框以适应新坐标)。

试图找出发生了什么,我在 SVG 插入 DOM 后使用 java scrip 检查了文本标签的 x 和 y 坐标,我发现两者都(神奇地)更改为-214748.3648.

有谁知道发生了什么,因为我快疯了……听起来好像有问题,因为 x 和 y 坐标太大,但我可以在我的地图中绘制一条具有该坐标的折线而(1156291, 661770)不会出现问题。

非常感谢你的帮助

4

1 回答 1

0

我在IE9下也有同样的问题,好像是IE9的bug。

例如,节点是 SVGTextElement:

var node = svgDocument.getElementById('oneidfortext');

node.setAttribute("x", 39400);
node.setAttribute("y", 394000);

然后

var x = node.getAttribute("x");
var y = node.getAttribute("y");
//x here is going to be 39400
//y here is going to be -214748.3648

我还没有找到解决方案。

于 2013-08-19T14:49:24.457 回答