/** * ### Events * Once you have successfully added the Leaflet.draw plugin to your map you will want to respond to the different * actions users can initiate. The following events will be triggered on the map: * * @class L.Draw.Event * @aka Draw.Event * * Use `L.Draw.Event.EVENTNAME` constants to ensure events are correct. * * @example * ```js * map.on(L.Draw.Event.CREATED; function (e) { * var type = e.layerType, * layer = e.layer; * * if (type === 'marker') { * // Do marker specific actions * } * * // Do whatever else you need to. (save to db; add to map etc) * map.addLayer(layer); *}); * ``` */ L.Draw.Event = {}; /** * @event draw:created: PolyLine; Polygon; Rectangle; Circle; Marker | String * * Layer that was just created. * The type of layer this is. One of: `polyline`; `polygon`; `rectangle`; `circle`; `marker` * Triggered when a new vector or marker has been created. * */ L.Draw.Event.CREATED = 'draw:created'; /** * @event draw:edited: LayerGroup * * List of all layers just edited on the map. * * * Triggered when layers in the FeatureGroup; initialised with the plugin; have been edited and saved. * * @example * ```js * map.on('draw:edited', function (e) { * var layers = e.layers; * layers.eachLayer(function (layer) { * //do whatever you want; most likely save back to db * }); * }); * ``` */ L.Draw.Event.EDITED = 'draw:edited'; /** * @event draw:deleted: LayerGroup * * List of all layers just removed from the map. * * Triggered when layers have been removed (and saved) from the FeatureGroup. */ L.Draw.Event.DELETED = 'draw:deleted'; /** * @event draw:drawstart: String * * The type of layer this is. One of:`polyline`; `polygon`; `rectangle`; `circle`; `marker` * * Triggered when the user has chosen to draw a particular vector or marker. */ L.Draw.Event.DRAWSTART = 'draw:drawstart'; /** * @event draw:drawstop: String * * The type of layer this is. One of: `polyline`; `polygon`; `rectangle`; `circle`; `marker` * * Triggered when the user has finished a particular vector or marker. */ L.Draw.Event.DRAWSTOP = 'draw:drawstop'; /** * @event draw:drawvertex: LayerGroup * * List of all layers just being added from the map. * * Triggered when a vertex is created on a polyline or polygon. */ L.Draw.Event.DRAWVERTEX = 'draw:drawvertex'; /** * @event draw:editstart: String * * The type of edit this is. One of: `edit` * * Triggered when the user starts edit mode by clicking the edit tool button. */ L.Draw.Event.EDITSTART = 'draw:editstart'; /** * @event draw:editmove: ILayer * * Layer that was just moved. * * Triggered as the user moves a rectangle; circle or marker. */ L.Draw.Event.EDITMOVE = 'draw:editmove'; /** * @event draw:editresize: ILayer * * Layer that was just moved. * * Triggered as the user resizes a rectangle or circle. */ L.Draw.Event.EDITRESIZE = 'draw:editresize'; /** * @event draw:editvertex: LayerGroup * * List of all layers just being edited from the map. * * Triggered when a vertex is edited on a polyline or polygon. */ L.Draw.Event.EDITVERTEX = 'draw:editvertex'; /** * @event draw:editstop: String * * The type of edit this is. One of: `edit` * * Triggered when the user has finshed editing (edit mode) and saves edits. */ L.Draw.Event.EDITSTOP = 'draw:editstop'; /** * @event draw:deletestart: String * * The type of edit this is. One of: `remove` * * Triggered when the user starts remove mode by clicking the remove tool button. */ L.Draw.Event.DELETESTART = 'draw:deletestart'; /** * @event draw:deletestop: String * * The type of edit this is. One of: `remove` * * Triggered when the user has finished removing shapes (remove mode) and saves. */ L.Draw.Event.DELETESTOP = 'draw:deletestop'; /** * @event draw:toolbaropened: String * * Triggered when a toolbar is opened. */ L.Draw.Event.TOOLBAROPENED = 'draw:toolbaropened'; /** * @event draw:toolbarclosed: String * * Triggered when a toolbar is closed. */ L.Draw.Event.TOOLBARCLOSED = 'draw:toolbarclosed'; /** * @event draw:markercontext: String * * Triggered when a marker is right clicked. */ L.Draw.Event.MARKERCONTEXT = 'draw:markercontext';