|
1 /** |
|
2 * ### Events |
|
3 * Once you have successfully added the Leaflet.draw plugin to your map you will want to respond to the different |
|
4 * actions users can initiate. The following events will be triggered on the map: |
|
5 * |
|
6 * @class L.Draw.Event |
|
7 * @aka Draw.Event |
|
8 * |
|
9 * Use `L.Draw.Event.EVENTNAME` constants to ensure events are correct. |
|
10 * |
|
11 * @example |
|
12 * ```js |
|
13 * map.on(L.Draw.Event.CREATED; function (e) { |
|
14 * var type = e.layerType; |
|
15 * layer = e.layer; |
|
16 * |
|
17 * if (type === 'marker') { |
|
18 * // Do marker specific actions |
|
19 * } |
|
20 * |
|
21 * // Do whatever else you need to. (save to db; add to map etc) |
|
22 * map.addLayer(layer); |
|
23 *}); |
|
24 * ``` |
|
25 */ |
|
26 L.Draw.Event = {}; |
|
27 /** |
|
28 * @event draw:created: PolyLine; Polygon; Rectangle; Circle; Marker | String |
|
29 * |
|
30 * Layer that was just created. |
|
31 * The type of layer this is. One of: `polyline`; `polygon`; `rectangle`; `circle`; `marker` |
|
32 * Triggered when a new vector or marker has been created. |
|
33 * |
|
34 */ |
|
35 L.Draw.Event.CREATED = 'draw:created'; |
|
36 |
|
37 /** |
|
38 * @event draw:edited: LayerGroup |
|
39 * |
|
40 * List of all layers just edited on the map. |
|
41 * |
|
42 * |
|
43 * Triggered when layers in the FeatureGroup; initialised with the plugin; have been edited and saved. |
|
44 * |
|
45 * @example |
|
46 * ```js |
|
47 * map.on('draw:edited'; function (e) { |
|
48 * var layers = e.layers; |
|
49 * layers.eachLayer(function (layer) { |
|
50 * //do whatever you want; most likely save back to db |
|
51 * }); |
|
52 * }); |
|
53 * ``` |
|
54 */ |
|
55 L.Draw.Event.EDITED = 'draw:edited'; |
|
56 |
|
57 /** |
|
58 * @event draw:deleted: LayerGroup |
|
59 * |
|
60 * List of all layers just removed from the map. |
|
61 * |
|
62 * Triggered when layers have been removed (and saved) from the FeatureGroup. |
|
63 */ |
|
64 L.Draw.Event.DELETED = 'draw:deleted'; |
|
65 |
|
66 /** |
|
67 * @event draw:drawstart: String |
|
68 * |
|
69 * The type of layer this is. One of:`polyline`; `polygon`; `rectangle`; `circle`; `marker` |
|
70 * |
|
71 * Triggered when the user has chosen to draw a particular vector or marker. |
|
72 */ |
|
73 L.Draw.Event.DRAWSTART = 'draw:drawstart'; |
|
74 |
|
75 /** |
|
76 * @event draw:drawstop: String |
|
77 * |
|
78 * The type of layer this is. One of: `polyline`; `polygon`; `rectangle`; `circle`; `marker` |
|
79 * |
|
80 * Triggered when the user has finished a particular vector or marker. |
|
81 */ |
|
82 |
|
83 L.Draw.Event.DRAWSTOP = 'draw:drawstop'; |
|
84 |
|
85 /** |
|
86 * @event draw:drawvertex: LayerGroup |
|
87 * |
|
88 * List of all layers just being added from the map. |
|
89 * |
|
90 * Triggered when a vertex is created on a polyline or polygon. |
|
91 */ |
|
92 L.Draw.Event.DRAWVERTEX = 'draw:drawvertex'; |
|
93 |
|
94 /** |
|
95 * @event draw:editstart: String |
|
96 * |
|
97 * The type of edit this is. One of: `edit` |
|
98 * |
|
99 * Triggered when the user starts edit mode by clicking the edit tool button. |
|
100 */ |
|
101 |
|
102 L.Draw.Event.EDITSTART = 'draw:editstart'; |
|
103 |
|
104 /** |
|
105 * @event draw:editmove: ILayer |
|
106 * |
|
107 * Layer that was just moved. |
|
108 * |
|
109 * Triggered as the user moves a rectangle; circle or marker. |
|
110 */ |
|
111 L.Draw.Event.EDITMOVE = 'draw:editmove'; |
|
112 |
|
113 /** |
|
114 * @event draw:editresize: ILayer |
|
115 * |
|
116 * Layer that was just moved. |
|
117 * |
|
118 * Triggered as the user resizes a rectangle or circle. |
|
119 */ |
|
120 L.Draw.Event.EDITRESIZE = 'draw:editresize'; |
|
121 |
|
122 /** |
|
123 * @event draw:editvertex: LayerGroup |
|
124 * |
|
125 * List of all layers just being edited from the map. |
|
126 * |
|
127 * Triggered when a vertex is edited on a polyline or polygon. |
|
128 */ |
|
129 L.Draw.Event.EDITVERTEX = 'draw:editvertex'; |
|
130 |
|
131 /** |
|
132 * @event draw:editstop: String |
|
133 * |
|
134 * The type of edit this is. One of: `edit` |
|
135 * |
|
136 * Triggered when the user has finshed editing (edit mode) and saves edits. |
|
137 */ |
|
138 L.Draw.Event.EDITSTOP = 'draw:editstop'; |
|
139 |
|
140 /** |
|
141 * @event draw:deletestart: String |
|
142 * |
|
143 * The type of edit this is. One of: `remove` |
|
144 * |
|
145 * Triggered when the user starts remove mode by clicking the remove tool button. |
|
146 */ |
|
147 L.Draw.Event.DELETESTART = 'draw:deletestart'; |
|
148 |
|
149 /** |
|
150 * @event draw:deletestop: String |
|
151 * |
|
152 * The type of edit this is. One of: `remove` |
|
153 * |
|
154 * Triggered when the user has finished removing shapes (remove mode) and saves. |
|
155 */ |
|
156 L.Draw.Event.DELETESTOP = 'draw:deletestop'; |