Andreas Hocevar wrote: > Hi Amit, > > why don't you just use a DrawFeature control with a Path handler on a > vector layer and listen to the layer's sketchmodified event, checking > for feature.geometry.components.length? > > var layer = new OpenLayers.Layer.Vector("result"); > var control = new OpenLayers.Control.DrawFeature(layer, > OpenLayers.Handler.Path); > layer.events.on({ > sketchmodified: function(evt) { > if(evt.feature.geometry.component.length == 2) { >
The above line should read if(evt.feature.geometry.components.length == 2) { Regards, Andreas. > control.handler.finalize(); > } > } > ); > > You will then have the feature on your layer. Nothing else to do. > > Regards, > Andreas. > > Amit Andersen wrote: > >> Hi All >> >> I wonder if there is a good reason why my post is being ignored. >> Is it to hard or is the problem posted not clear enough? >> >> Mails with different problems have been streaming to my mailbox, and got an >> answer quite fast. Kan someone write back if my post is not answerable in >> some way.. :-) >> >> Thanks >> Amit >> >> >> Amit Andersen wrote: >> >> >>> Hi >>> >>> This should be a simple question. >>> I'm working on limiting a path to one single line. What I did was to fire >>> a function on "Point" event. A global var is counting the points created. >>> In this function when the global var is 2, I have an alert which pops up >>> fine. >>> >>> What I want to do instead of the alert, is create the feature from the >>> line sketch on second single-click. Basically imitate a double-click event >>> on the second single-click. >>> >>> This is my DrawFeature control: >>> >>> ... >>> line: new OpenLayers.Control.DrawFeature(vectors, OpenLayers.Handler.Path, >>> {callbacks: { "point": this.TwoClickPath.bind(this) }}), >>> ... >>> >>> And this is the function that is being fired: >>> >>> TwoClickPath: function(e) { >>> this.TwoClickPathCount++; >>> if (this.TwoClickPathCount == 2) { >>> /* >>> Here I want to create the a feature out of the sketch (which >>> is a single line) >>> */ >>> // alert(""); fires ok >>> controls.line.deactivate(); >>> this.TwoClickPathCount = 0; >>> } >>> }, >>> >>> Thanks in advance for any reply. >>> Amit >>> >>> >>> >> >> > > > -- Andreas Hocevar OpenGeo - http://opengeo.org/ Expert service straight from the developers. _______________________________________________ Users mailing list Users@openlayers.org http://openlayers.org/mailman/listinfo/users