Hi Dylan,

.getScreenCTM() is your friend here.

Here is some code:

function calcCoord(evt) {
   var svgPoint = document.documentElement.createSVGPoint();
   svgPoint.x = evt.clientX;
   svgPoint.y = evt.clientY;
var matrix = evt.target.getScreenCTM(); //alternatively use a different node reference here instead of evt.target, f.e. if you want to calculate to a different node in the hierarchy
   svgPoint = svgPoint.matrixTransform(matrix.inverse());
  return svgPoint;
}

If you need standard tooltips, Batik already provides tooltips.

Unfortunately, the Adobe SVG viewer version 3 neither supports tooltips nor .getScreenCTM.

For this viewer there is a workaround:
http://www.carto.net/papers/svg/gui/mapApp/

And here is a tooltip example that works in all browsers:
http://www.carto.net/papers/svg/gui/tooltips/index.svg

All the best,
Andreas

Dylan Browne wrote:

Hi,

(Not strictly a Batik Posting, although I am using Batik DOM to create my
SVG, so I hope that almost counts...!)

I am using JavaScript "evt.clientX" and "evt.clientY" (I have also tried
"screenX") to retrieve the co-ordinates of a mouseover event, and some extra
code then displays a label using these coordinates. (In essence, I'm
creating a souped-up tool-tip).
This works fine in standard view, but once the SVG document has been zoomed,
the co-ordinates returned are no longer relative to the original
document,(as, of course, I would expect :). I'd be grateful if someone could
point me towards the correct JS syntax so the coordinates I return are in
relation to my zoomed/panned document.

Thanks a lot in advance for any help,

Regards,
Dylan

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



--
----------------------------------------------
Andreas Neumann
Institute of Cartography
ETH Zurich
Wolfgang-Paulistrasse 15
CH-8093  Zurich, Switzerland

Phone: ++41-44-633 3031, Fax: ++41-44-633 1153
e-mail: [EMAIL PROTECTED]
www: http://www.carto.net/neumann/
SVG.Open: http://www.svgopen.org/
Carto.net: http://www.carto.net/


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to