[OpenLayers-Users] IE6 / OpenLayers / Path DrawFeature and DoubleClicks

James.Sewell at lisasoft.com James.Sewell at lisasoft.com
Tue May 4 00:43:28 EDT 2010


Thanks for the help Andreas,



I tried using setTimer , but this resulted in intermittent results (depending on the timing of each line draw I believe) and a flickering circle in all broswers.



A simplified version of the code I am using is as below (I have omitted the map with a toolbar).  I hope it isn't too convoluted!



When using IE and using a polyline tool to draw a line (a circle with a diameter of 10 will be drawn around the last point) a double click will not terminate the line (single then wait then double is needed).



Please note I am using an array stored in e.feature.geometry.attributes to store the rangeCircle within the Vector (as passed to the handler in e.feature).



waypointLayer.events.on({'sketchstarted': sketchStarted});

waypointLayer.events.on({'sketchmodified': sketchModified});



function sketchStarted(e)

{

      e.feature.geometry.attributes = new Array();

      e.feature.geometry.attributes['circle'] = createCircle(e.feature.geometry.getVertices());

}



function sketchModified(e)

{

      e.feature.geometry.attributes['circle'].destroy();

      e.feature.geometry.attributes['circle'] = createCircle(e.feature.geometry.getVertices());

      waypointLayer.addFeatures(e.feature.geometry.attributes['circle']);

}



function createCircle(vert)

{

      return new OpenLayers.Feature.Vector(

            OpenLayers.Geometry.Polygon.createRegularPolygon(vert[vert.length-1], 10, 50)

      );

}



Any help would be really appreciated!

Cheers,
James Sewell
LISAsoft Developer
+61 (3) 8680 3200 / +61 414 688 892



-----Original Message-----
From: andreas.hocevar at gmail.com [mailto:andreas.hocevar at gmail.com] On Behalf Of Andreas Hocevar
Sent: Friday, 30 April 2010 8:04 PM
To: James.Sewell at lisasoft.com
Cc: users at openlayers.org
Subject: Re: [OpenLayers-Users] IE6 / OpenLayers / Path DrawFeature and DoubleClicks



Hi,



On Fri, Apr 30, 2010 at 8:23 AM, James.Sewell at lisasoft.com

<James.Sewell at lisasoft.com> wrote:

> I am working with OpenLayers and IE6 (which is the required SOE for the

> project) and have noticed that mouse doubleclicks are not being captured

> correctly when drawing a Path from an OpenLayers.Control.DrawFeature  if

> another element is drawn to any layer from a sketchmodified event.



I think the "if" part in the above sentence screws your application.

This sounds like an application issue. You could try to draw the other

element in the sketchmodified handler using setTimeout. If that does

not work, try to create a minimal example that shows the issues, so it

will be easier for others to help.



Regards,

Andreas.



>

>

>

> From IE in the above situation the Path is drawn (which has a circle

> dynamically drawn round it using the sketchmodified event to call the

> OpenLayers.Layer.Vector.addFeatures method) but requires a single click

> immediately followed by a double click to terminate the Path.

>

>

>

> If the addFeatures call is not made (the circle is not drawn ) behavior is

> as normal. The code works as expected in Chrome.

>

>

>

> Has anyone dealt with this behavior before? Any help would really be

> appreciated.

>

>

>

> Cheers,

>

> James Sewell

>

> LISAsoft Developer

>

> +61 (3) 8680 3200 / +61 414 688 892

>

>

>

>

>

>

>

>

>

> _______________________________________________

> Users mailing list

> Users at openlayers.org

> http://openlayers.org/mailman/listinfo/users

>

>







--

Andreas Hocevar

OpenGeo - http://opengeo.org/

Expert service straight from the developers.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.osgeo.org/pipermail/openlayers-users/attachments/20100504/1467df4d/attachment.html


More information about the Users mailing list