[mapserver-users] Intercepting Map Click Coordinates with JavaScript ? Zooming with scale values.

Walt Lin joemayfair at usa.net
Tue Jan 22 15:53:37 EST 2002


That code reliably gets the mouse position on the page (I think!).
You've gotta know the location of the image-- it has to be in some layer
that's positioned, or that you can access its x,y.

On Tue, Jan 22, 2002 at 09:00:39AM -0600, Steve Lime wrote:
> Does this actually work? I was under the impression it would IF the
> image in question was in an absolutely positioned layer or it's own
> frame. It's typically easy to get page coordinates but figuring out
> where an image lies on the page (so you know where you are in the image)
> is darn near impossible without layers or frames.
> 
> Steve
> 
> Stephen Lime
> Data & Applications Manager
> 
> Minnesota DNR
> 500 Lafayette Road
> St. Paul, MN 55155
> 651-297-2937
> >>> Walt Lin <joemayfair at usa.net> 01/21/02 12:18 PM >>>
> With CGI, it's dirt easy-- the input type=image automatically sends
> along name.x and name.y as cgi parameters.  So if you could do what you
> want to server side, that's the most reliable and the easiest.
> 
> If you must do it client side, you could do something like this:
> var mouseX=0,mouseY=0,setX=0,setY=0;
> function getMousemove(e){
>     mouseX= (bw.ns4||bw.ns6)? e.pageX:
> 			bw.ie&&bw.win&&!bw.ie4? (event.clientX
>           	-2)+document.body.scrollLeft : !bw.opera5?
> 			event.clientX+document.body.scrollLeft : 
> 			(event.clientX-2);
>     mouseY= (bw.ns4||bw.ns6)? e.pageY:
> 			bw.ie&&bw.win&&!bw.ie4? (event.clientY
> 			-2)+document.body.scrollTop : !bw.opera5?
> 			event.clientY+document.body.scrollTop
> 			 : (event.clientY-2);
> };
> 
> where the bw is browser detection stuff.
> 
> On Mon, Jan 21, 2002 at 11:38:36AM -0500, Doyon, Jean-Francois wrote:
> > Hello,
> > 
> > This is not necessarily a mpaserver specific question but ...
> > 
> > Is there anyway/does anybody know how to intercept the x/y pixel
> coordinates
> > that the user generated by clicking on the map when using the map as
> an
> > <input type=image> ?
> > 
> > I'm trying to create an interface that uses scale values to determine
> the
> > next up/down zoom levels, and apparently in order to do this I have to
> use
> > the CGI variable MAPXY, which unfortunately has to be inn the map's
> > projection coordinates.
> > 
> > So, I need to intercept the pixel coordinates (img.x and img.y) in
> order to
> > do the necessary calculations and set MAPXY, all this triggered by the
> > form's onSubmit ...
> > 
> > Anybody have any idea on how to do this? I haven't had any luck so far
> using
> > things like document.form.img.x ...
> > 
> > If worse comes to worse I guess I could use client-side maps, but I'd
> rather
> > not unless I absolutely have to!
> > 
> > Thanks in advance for the help!
> > 
> > Jean-Fran?ois Doyon
> > Internet Service Development and Systems Support
> > GeoAccess Division
> > Canadian Center for Remote Sensing
> > Natural Resources Canada
> > http://atlas.gc.ca
> > Phone: (613) 992-4902
> > Fax: (613) 947-2410
> > 
> > 
> > 
> 
> 
> 



More information about the mapserver-users mailing list