2013-04-09 148 views
0

我對SVG文本標籤有問題。這個簡單的代碼,座標x設置爲20,座標y設置爲80,完美。顯示文本svg標籤的問題

<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=1156291y=661770的實際值。在這種情況下,我看不到任何東西(並且我已更新視圖框以適應新的座標)。

試圖找出發生了什麼我已經在SVG插入DOM後檢查了使用java scrip的文本標記的x和y座標,並且我發現兩者都已更改(神奇地)至-214748.3648

有沒有人知道它發生了什麼,因爲我越來越瘋狂......聽起來像是因爲x和y座標太大而出現問題,但我可以在我的地圖中繪製一條與座標(1156291, 661770)沒有問題的多段線。

感謝很多關於你幫

+0

你能告訴我們你正在使用的實際代碼嗎?否則不可能發現錯誤。 – ApproachingDarknessFish 2013-04-09 18:09:52

+0

瀏覽器是96dpi,您的地圖是幾千dpi。因此,您需要在(20,80)@ 96dpi與您的地圖之間映射數千dpi – 2013-04-09 22:01:24

回答

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 

我還沒有找到解決方案尚未。