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: batik-users-unsubscribe@xmlgraphics.apache.org
>For additional commands, e-mail: batik-users-help@xmlgraphics.apache.org
>
>
>
--
----------------------------------------------
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: neumann@karto.baug.ethz.ch
www: http://www.carto.net/neumann/
SVG.Open: http://www.svgopen.org/
Carto.net: http://www.carto.net/
---------------------------------------------------------------------
To unsubscribe, e-mail: batik-users-unsubscribe@xmlgraphics.apache.org
For additional commands, e-mail: batik-users-help@xmlgraphics.apache.org
|