I still can't work this one out, any help would be appreciated. Here's a live example:
http://demo.jdi-consult.net/oltest/clickprob.html When the map first loads you can click and hold to pan around. Select "get Co-Ords" and you can no longer pan that way, instead a click on the map displays the co-ordinates below the map. Now try to click on "navigate" in FF it will show the co-ordinates of the point you clicked, then on the second click it is possible to select "navigate". It works fine in IE6. Can anyone help? cheers, Tom On 8/31/07, Tom (JDi Solutions) <[EMAIL PROTECTED]> wrote: > > Hi all, > > I've been creating a handler based on the code here: > http://trac.openlayers.org/wiki/Handlers > > What's supposed to happen is that the user clicks on the map and the > co-ordinates are sent off to a web service which returns a polygon in WKT > which is then plotted. That all works fine except that after the user has > clicked the map once the next click anywhere in the map window will result > in a further call to the web service and no response from any other control > they may have clicked on, e.g. a link or button. If the click was outside > the map div the user is then able to click on any other controls on the > page. If the click was in the map window the behaviour continues. > > In the code below I can comment out everything in the sendpoint function > so that it does nothing but the behaviour still persists, i.e. the next > click will not activate anything else within the browser window. > > What's even more strange is that this actually works perfectly well in IE6 > and this behaviour is observed in Firefox only which tells me I'm doing > something very wrong. Firebug is not reporting any errors. I've not tried > IE7 or other browser as yet. > > Any ideas anyone? > > Here's some code: > > drawControls = { > toidselect: new OpenLayers.Control() > }; > > OpenLayers.Util.extend(drawControls['toidselect'], { > > draw: function () { > this.point = new OpenLayers.Handler.Point( > drawControls['toidselect'], > {"done": this.sendpoint}) > this.point.activate(); > }, > > > sendpoint: function (point) { > var xpoint = point.lon; > var ypoint = point.lat; > if(!xpoint) { > xpoint = point.x; > ypoint = point.y; > } > > xmlhttp.open('get', 'polyselect.php?coords=' + xpoint > + ',' + ypoint, true); > xmlhttp.onreadystatechange = drawTOIDPolygon; > xmlhttp.send(null); > } > }); > > for(var key in drawControls) { > map.addControl(drawControls[key]); > } > > Thanks in advance, > > Tom Dean >
_______________________________________________ Users mailing list [email protected] http://openlayers.org/mailman/listinfo/users
