2013-04-09 5 views
0

SVG 텍스트 태그에 문제가 있습니다. 좌표 x가 20으로 설정되고 좌표 y가 80으로 설정된이 간단한 코드는 완벽하게 작동합니다. 내가 x=1156291y=661770 같은 x 및 y 좌표 내지도의 실제 값을 설정할 때 텍스트 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> 

문제

온다. 이 경우에는 아무것도 볼 수 없습니다 (그리고 새로운 좌표에 맞게 뷰 박스를 업데이트했습니다).

무슨 일이 일어나고 있는지 알아보기 SVG가 DOM에 삽입 된 후 자바 스크립트를 사용하여 텍스트 태그의 x 및 y 좌표를 확인한 결과 두 가지가 모두 (마법에 맞춰) -214748.3648으로 변경되었음을 발견했습니다.

아무도 내가 미치고 있기 때문에 무슨 일이 일어 났는지 알지 못합니다 ... x 및 y 좌표가 너무 커서 문제가있는 것처럼 들리지만 문제가없는 좌표로 폴리 라인을 그릴 수 있습니다. (1156291, 661770) 당신은 내가 IE9에서 같은 문제가

+0

작업중인 실제 코드를 표시 할 수 있습니까? 그렇지 않으면 오류를 찾을 수 없습니다. – ApproachingDarknessFish

+0

브라우저는 96dpi이며지도는 수천 dpi입니다. 그러므로 당신은 (20,80) @ 96dpi와 당신의 맵을 매핑해야합니다 @dis-of-dpi –

답변

0

을 도움을

는 IE9의 버그 것 같다, 많은 감사드립니다. 아직

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 

내가 발견하지 않은 솔루션 :

예를 들어, 노드는 SVGTextElement입니다.