Handler to draw a path on the map. Path is displayed on mouse down, moves on mouse move, and is finished on mouse up.
| OpenLayers. | Handler to draw a path on the map. | 
| Properties | |
| line | {OpenLayers.Feature.Vector} | 
| maxVertices | {Number} The maximum number of vertices which can be drawn by this handler. | 
| doubleTouchTolerance | {Number} Maximum number of pixels between two touches for the gesture to be considered a “finalize feature” action. | 
| freehand | {Boolean} In freehand mode, the handler starts the path on mouse down, adds a point for every mouse move, and finishes the path on mouse up. | 
| freehandToggle | {String} If set, freehandToggle is checked on mouse events and will set the freehand mode to the opposite of this.freehand. | 
| timerId | {Integer} The timer used to test the double touch. | 
| redoStack | {Array} Stack containing points removed with undo. | 
| Constructor | |
| OpenLayers. | Create a new path hander | 
| Functions | |
| createFeature | Add temporary geometries | 
| destroyFeature | Destroy temporary geometries | 
| destroyPersistedFeature | Destroy the persisted feature. | 
| removePoint | Destroy the temporary point. | 
| addPoint | Add point to geometry. | 
| insertXY | Insert a point in the current sketch given x & y coordinates. | 
| insertDeltaXY | Insert a point given offsets from the previously inserted point. | 
| insertDirectionLength | Insert a point in the current sketch given a direction and a length. | 
| insertDeflectionLength | Insert a point in the current sketch given a deflection and a length. | 
| getCurrentPointIndex | {Number} The index of the most recently drawn point. | 
| undo | Remove the most recently added point in the sketch geometry. | 
| redo | Reinsert the most recently removed point resulting from an undo call. | 
| freehandMode | Determine whether to behave in freehand mode or not. | 
| modifyFeature | Modify the existing geometry given the new point | 
| drawFeature | Render geometries on the temporary layer. | 
| getSketch | Return the sketch feature. | 
| getGeometry | Return the sketch geometry. | 
| touchstart | handle touchstart. | 
| down | Handle mousedown and touchstart. | 
| move | Handle mousemove and touchmove. | 
| up | Handle mouseup and touchend. | 
| finishGeometry | Finish the geometry and send it back to the control. | 
| dblclick | Handle double-clicks. | 
{Array} Stack containing points removed with undo.
Create a new path hander
| control | {OpenLayers.Control} The control that owns this handler | 
| callbacks | {Object} An object with a properties whose values are functions. Various callbacks described below. | 
| options | {Object} An optional object with properties to be set on the handler | 
| create | Called when a sketch is first created. Callback called with the creation point geometry and sketch feature. | 
| modify | Called with each move of a vertex with the vertex (point) geometry and the sketch feature. | 
| point | Called as each point is added. Receives the new point geometry. | 
| done | Called when the point drawing is finished. The callback will recieve a single argument, the linestring geometry. | 
| cancel | Called when the handler is deactivated while drawing. The cancel callback will receive a geometry. | 
createFeature: function( pixel ) 
Add temporary geometries
| pixel | {OpenLayers.Pixel} The initial pixel location for the new feature. | 
addPoint: function( pixel ) 
Add point to geometry. Send the point index to override the behavior of LinearRing that disregards adding duplicate points.
| pixel | {OpenLayers.Pixel} The pixel location for the new point. | 
insertDeflectionLength: function( deflection, length ) 
Insert a point in the current sketch given a deflection and a length. The deflection should be degrees clockwise from the previously digitized segment.
| deflection | {Number} Degrees clockwise from the previous segment. | 
| length | {Number} Distance from the previously drawn point. | 
redo: function() 
Reinsert the most recently removed point resulting from an undo call. The undo stack is deleted whenever a point is added by other means.
{Boolean} A point was added.
modifyFeature: function( pixel, drawing ) 
Modify the existing geometry given the new point
| pixel | {OpenLayers.Pixel} The updated pixel location for the latest point. | 
| drawing | {Boolean} Indicate if we’re currently drawing. | 
Remove the most recently added point in the sketch geometry.
undo: function() 
Add temporary geometries
createFeature: function( pixel ) 
Destroy temporary geometries
destroyFeature: function( force ) 
Destroy the persisted feature.
destroyPersistedFeature: function() 
Destroy the temporary point.
removePoint: function() 
Add point to geometry.
addPoint: function( pixel ) 
Insert a point in the current sketch given x & y coordinates.
insertXY: function( x, y ) 
Insert a point given offsets from the previously inserted point.
insertDeltaXY: function( dx, dy ) 
Insert a point in the current sketch given a direction and a length.
insertDirectionLength: function( direction, length ) 
Insert a point in the current sketch given a deflection and a length.
insertDeflectionLength: function( deflection, length ) 
{Number} The index of the most recently drawn point.
getCurrentPointIndex: function() 
Reinsert the most recently removed point resulting from an undo call.
redo: function() 
Determine whether to behave in freehand mode or not.
freehandMode: function( evt ) 
Modify the existing geometry given the new point
modifyFeature: function( pixel, drawing ) 
Render geometries on the temporary layer.
drawFeature: function() 
Return the sketch feature.
getSketch: function() 
Return the sketch geometry.
getGeometry: function() 
handle touchstart.
touchstart: function( evt ) 
Handle mousedown and touchstart.
down: function( evt ) 
Handle mousemove and touchmove.
move: function ( evt ) 
Handle mouseup and touchend.
up: function ( evt ) 
Finish the geometry and send it back to the control.
finishGeometry: function() 
Handle double-clicks.
dblclick: function( evt )