Hi all, I need to draw lines with only two vertexs so when the second vertex is added the draing must end.
I've done it so far creating a new handler.path where I control the length of the geometry components. When is bigger than 2 I run the finalize function so it ends. That works fine but I think there must be a better way of doing it? I have also tried registering the sketchmodified event of the control from the main html page. The issue here is that I do not know how to deactivate the drawing control without throwing and error. (feature is null, on Vector.js (line 617, in drawFeature function) any ideas? the code. //DRAWING CONTROLS drawControls = { point: new OpenLayers.Control.DrawFeature(pointLayer, OpenLayers.Handler.Point), line: new OpenLayers.Control.DrawFeature(lineLayer, OpenLayers.Handler.Path, options), polygon: new OpenLayers.Control.DrawFeature(polygonLayer, OpenLayers.Handler.Polygon, options) }; for(var key in drawControls) { map.addControl(drawControls[key]); } //REGISTERING drawControls.line.layer.events.on({ 'sketchmodified': report }); function report(param) { if (param.feature.components.length>2) { drawControls.line.handler.finalize(); } }
_______________________________________________ Dev mailing list Dev@openlayers.org http://openlayers.org/mailman/listinfo/dev