2012-05-12 3 views
-1

я следующий текст элемент, определенный в моем SVG:Держите текст в SVG видно после масштабирования в

var data = document.createTextNode("Testing text in SVG"); 
var text = document.createElementNS(xmlns, "text"); 
text.setAttributeNS(null, "font-size",'60'); 
text.setAttributeNS(null, "x", 2000); 
text.setAttributeNS(null, "y", 100); 
text.setAttributeNS(null, "fill", "black"); 
text.setAttributeNS(null, "text-anchor", "middle"); 
text.setAttributeNS(null, "id", "textLabel"); 
text.appendChild(data); 
Root.appendChild(text); 

К сожалению, когда я просигналить в SVG, текст не виден больше, что имеет смысл, поскольку координаты x и y жестко закодированы. Как я могу это исправить, так как я хочу, чтобы текст всегда был видимым в верхней средней области SVG независимо от того, насколько сильно я увеличиваю и уменьшаю масштаб?

Спасибо!

+0

Нет абсолютно никакого способа узнать, о каком 'zoom' вы говорите. Также, если вы спрашиваете о 'zoom', ваш код должен это проиллюстрировать. – Alexander

+0

Ну, если вы на сенсорном устройстве, таком как iPad, это будет щепотка и зум. В браузере тот же эффект вы получаете на Картах Google, когда вы приближаетесь к карте с помощью колеса мыши. Но я уверен, что вы знакомы со всем этим, поэтому я немного смущен вашим комментарием. –

+0

Возможно, у вас был собственный собственный зум. Кто знает. – Alexander

ответ

0

Попробуйте добавить текстовый элемент к svg имен и не xmlns:

var text = document.createElementNS("http://www.w3.org/2000/svg", "text"); 

"harcoded" координаты не имеет значения. Если элемент добавлен правильно, это должны быть координаты относительно холста svg.

+0

К сожалению, это не имело никакого значения после замены двух строк, которые создают текстовый элемент. –

+1

k, возможно, тогда вы сможете показать больше кода. – mihai

+0

Вот и все. Я ничего особенного не делаю. Помимо метода, который я опубликовал, в отдельной функции я просто обновляю текст, основываясь на том, где пользователь коснулся SVG. Но x и y никогда не меняются. –

Смежные вопросы