Subversion Repositories eFlore/Applications.cel

Rev

Rev 719 | Rev 747 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 719 Rev 744
1
//+---------------------------------------------------------------------------------------------------------+
1
//+---------------------------------------------------------------------------------------------------------+
2
// GÉNÉRAL
2
// GÉNÉRAL
3
var DEBUG = false; // Mettre à true pour afficher les messages de débogage
3
var DEBUG = false; // Mettre à true pour afficher les messages de débogage
4
/**
4
/**
5
 * Stope l'évènement courrant quand on clique sur un lien.
5
 * Stope l'évènement courrant quand on clique sur un lien.
6
 * Utile pour Chrome, Safari...
6
 * Utile pour Chrome, Safari...
7
 * @param evenement
7
 * @param evenement
8
 * @return
8
 * @return
9
 */
9
 */
10
function arreter(evenement) {
10
function arreter(evenement) {
11
	if (evenement.stopPropagation) {
11
	if (evenement.stopPropagation) {
12
		evenement.stopPropagation();
12
		evenement.stopPropagation();
13
	}
13
	}
14
	return false;
14
	return false;
15
}
15
}
16
 
16
 
17
//+---------------------------------------------------------------------------------------------------------+
17
//+---------------------------------------------------------------------------------------------------------+
18
// FORMULAIRE
18
// FORMULAIRE
19
 
19
 
20
$(function() {
20
$(function() {
21
	$("#saisie-obs").validate({
21
	$("#saisie-obs").validate({
22
		rules: {
22
		rules: {
23
			prenom : "required",
23
			prenom : "required",
24
			nom : "required",
24
			nom : "required",
25
			courriel : {
25
			courriel : {
26
				required : true,
26
				required : true,
27
				email : true},
27
				email : true},
28
			courriel_confirmation : {
28
			courriel_confirmation : {
29
				required : true,
29
				required : true,
30
				equalTo: "#courriel"
30
				equalTo: "#courriel"
31
			},
31
			},
32
			milieu : "required",
32
			milieu : "required",
33
			latitude : "required",
33
			latitude : {
-
 
34
				required: true,
-
 
35
				range: [-90, 90]},
-
 
36
			longitude : {
-
 
37
				required: true,
-
 
38
				range: [-180, 180]},
-
 
39
			date : {
-
 
40
				required: true,
-
 
41
				date: true},
34
			longitude : "required"
42
			taxon : "required"
35
		}
43
		}
36
	});
44
	});
37
	
45
	
38
	$("#date").datepicker($.datepicker.regional['fr']);
46
	$("#date").datepicker($.datepicker.regional['fr']);
39
	
47
	
40
	$("#courriel-confirmation").bind('paste', function(e) {
48
	$("#courriel_confirmation").bind('paste', function(e) {
41
		$("#dialogue-bloquer-copier-coller").dialog();
49
		$("#dialogue-bloquer-copier-coller").dialog();
42
		return false;
50
		return false;
43
	});
51
	});
44
	
52
	
45
	$("#localiser-gg-map").fancybox({
53
	$("#localiser-gg-map").fancybox({
46
		'modal'			: true,
54
		'modal'			: true,
47
		'autoDimensions' : true,
55
		'autoDimensions' : true,
48
		'titleShow'		: false,
56
		'titleShow'		: false,
49
		'onClosed'		: function() {
57
		'onClosed'		: function() {
50
		    $("#gg-map").hide();
58
		    $("#gg-map").hide();
51
		},
59
		},
52
		'onStart'		: function(e) {
60
		'onStart'		: function(e) {
53
			arreter(e);
61
			arreter(e);
54
			$("#gg-map-localisation").height($(window).height() - 100);
62
			$("#gg-map-localisation").height($(window).height() - 100);
55
			$("#gg-map-carte").height($(window).height() - 230);
63
			$("#gg-map-carte").height($(window).height() - 200);
56
			$("#gg-map-localisation").width($(window).width() - 100);
64
			$("#gg-map-localisation").width($(window).width() - 100);
57
		},
65
		},
58
		'onComplete'	: function() {
66
		'onComplete'	: function() {
59
			initialiserCarte();
67
			initialiserCarte();
60
		}
68
		}
61
	});
69
	});
62
	
70
	
63
	$("#valider-coordonnees").click(function(e) {
71
	$("#valider-coordonnees").click(function(e) {
64
		var coordonnees = $("#marqueur-coordonnees").data('latLon');
72
		var coordonnees = $("#marqueur-coordonnees").data('latLon');
65
		if (coordonnees != undefined) {
73
		if (coordonnees != undefined) {
66
			$("#latitude").val(coordonnees.lat);
74
			$("#latitude").val(coordonnees.lat);
67
			$("#longitude").val(coordonnees.lon);
75
			$("#longitude").val(coordonnees.lon);
68
		}
76
		}
69
		$.fancybox.close();
77
		$.fancybox.close();
70
	});
78
	});
71
	$("#annuler-coordonnees").bind('click', function(e) {
79
	$("#annuler-coordonnees").bind('click', function(e) {
72
		$.fancybox.close();
80
		$.fancybox.close();
73
	});
81
	});
74
	
82
	
75
	var obsNumero = 0;
83
	var obsNumero = 0;
76
	$("#ajouter-obs").bind('click', function(e) {
84
	$("#ajouter-obs").bind('click', function(e) {
77
		if ($("#saisie-obs").valid() == false) {
85
		if ($("#saisie-obs").valid() == false) {
78
			$("#dialogue-form-invalide").dialog();
86
			$("#dialogue-form-invalide").dialog();
79
		} else {
87
		} else {
80
			obsNumero = obsNumero + 1;
88
			obsNumero = obsNumero + 1;
81
			$("#liste-obs tbody").append(
89
			$("#liste-obs tbody").append(
82
				'<tr id="obs'+obsNumero+'" class="obs">'+
90
				'<tr id="obs'+obsNumero+'" class="obs">'+
83
					'<td>'+obsNumero+'</td>'+
91
					'<td>'+obsNumero+'</td>'+
84
					'<td>'+$("#date").val()+'</td>'+
92
					'<td>'+$("#date").val()+'</td>'+
85
					'<td>'+$("#taxon option:selected").text()+'</td>'+
93
					'<td>'+$("#taxon option:selected").text()+'</td>'+
86
					'<td>'+$("#milieu option:selected").text()+'</td>'+
94
					'<td>'+$("#milieu option:selected").text()+'</td>'+
87
					'<td>'+$("#latitude").val()+'</td>'+
95
					'<td>'+$("#latitude").val()+'</td>'+
88
					'<td>'+$("#longitude").val()+'</td>'+
96
					'<td>'+$("#longitude").val()+'</td>'+
89
					'<td>'+$("#notes").val()+'</td>'+
97
					'<td>'+$("#notes").val()+'</td>'+
90
					'<td><button class="supprimer-obs" value="'+obsNumero+'" title="'+obsNumero+'">Supprimer</button></td>'+
98
					'<td><button class="supprimer-obs" value="'+obsNumero+'" title="'+obsNumero+'">Supprimer</button></td>'+
91
				'</tr>');
99
				'</tr>');
92
			var numNomSel = $("#taxon").val();
100
			var numNomSel = $("#taxon").val();
93
			$("#liste-obs").data('obsId'+obsNumero, {
101
			$("#liste-obs").data('obsId'+obsNumero, {
94
				'date' : $("#date").val(), 
102
				'date' : $("#date").val(), 
95
				'num_nom_sel' : numNomSel,
103
				'num_nom_sel' : numNomSel,
96
				'nom_sel' : taxons[numNomSel]['nom_sel'],
104
				'nom_sel' : taxons[numNomSel]['nom_sel'],
97
				'nom_ret' : taxons[numNomSel]['nom_ret'],
105
				'nom_ret' : taxons[numNomSel]['nom_ret'],
98
				'num_nom_ret' : taxons[numNomSel]['num_nom_ret'],
106
				'num_nom_ret' : taxons[numNomSel]['num_nom_ret'],
99
				'num_taxon' : taxons[numNomSel]['num_taxon'],
107
				'num_taxon' : taxons[numNomSel]['num_taxon'],
100
				'famille' : taxons[numNomSel]['famille'],
108
				'famille' : taxons[numNomSel]['famille'],
101
				'nom_fr' : taxons[numNomSel]['nom_fr'],
109
				'nom_fr' : taxons[numNomSel]['nom_fr'],
102
				'milieu' : $("#milieu option:selected").val(),
110
				'milieu' : $("#milieu option:selected").val(),
103
				'latitude' : $("#latitude").val(),
111
				'latitude' : $("#latitude").val(),
104
				'longitude' : $("#longitude").val(),
112
				'longitude' : $("#longitude").val(),
105
				'tag' : 'Biodiversite34',
113
				'tag' : 'Biodiversite34',
106
				'notes' : $("#notes").val()});
114
				'notes' : $("#notes").val()});
107
		}
115
		}
108
	});
116
	});
109
	
117
	
110
	$(".supprimer-obs").live('click', function() {
118
	$(".supprimer-obs").live('click', function() {
111
		var obsId = $(this).val();
119
		var obsId = $(this).val();
112
		// Problème avec IE 6 et 7
120
		// Problème avec IE 6 et 7
113
		if (obsId == "Supprimer") {
121
		if (obsId == "Supprimer") {
114
			obsId = $(this).attr("title");
122
			obsId = $(this).attr("title");
115
		}
123
		}
116
		
124
		
117
		$('#obs'+obsId).remove();
125
		$('#obs'+obsId).remove();
118
		$("#liste-obs").removeData('obsId'+obsId)
126
		$("#liste-obs").removeData('obsId'+obsId)
119
	});
127
	});
120
	
128
	
121
	$("#tramsmettre-obs").click(function(e) {
129
	$("#tramsmettre-obs").click(function(e) {
122
		var observations = $("#liste-obs").data();
130
		var observations = $("#liste-obs").data();
123
		
131
		
124
		if (observations == undefined || jQuery.isEmptyObject(observations)) {
132
		if (observations == undefined || jQuery.isEmptyObject(observations)) {
125
			$("#dialogue-zero-obs").dialog();
133
			$("#dialogue-zero-obs").dialog();
126
		} else if ($("#saisie-obs").valid() == false) {
134
		} else if ($("#saisie-obs").valid() == false) {
127
			$("#dialogue-form-invalide").dialog();
135
			$("#dialogue-form-invalide").dialog();
128
		} else {
136
		} else {
129
			var utilisateur = new Object();
137
			var utilisateur = new Object();
130
			utilisateur.prenom = $("#prenom").val();
138
			utilisateur.prenom = $("#prenom").val();
131
			utilisateur.nom = $("#nom").val();
139
			utilisateur.nom = $("#nom").val();
132
			utilisateur.courriel = $("#courriel").val();
140
			utilisateur.courriel = $("#courriel").val();
133
			observations['utilisateur'] = utilisateur;
141
			observations['utilisateur'] = utilisateur;
134
			
142
			
135
			//"http://localhost/cel-jrest/CelWidgetSaisie"
143
			//"http://localhost/cel-jrest/CelWidgetSaisie"
136
			$.ajax({
144
			$.ajax({
137
				url : "http://www.tela-botanica.org/eflore-test/cel2/jrest/CelWidgetSaisie",
145
				url : "http://www.tela-botanica.org/eflore-test/cel2/jrest/CelWidgetSaisie",
138
				type : "POST",
146
				type : "POST",
139
				data : observations,
147
				data : observations,
140
				context : document.body,
148
				context : document.body,
141
				beforeSend : function() {
149
				beforeSend : function() {
142
					$("#msg").remove();	
150
					$("#msg").remove();	
143
					$("#msg-erreur").remove();
151
					$("#msg-erreur").remove();
144
					$("#msg-debug").remove();
152
					$("#msg-debug").remove();
145
				},
153
				},
146
				statusCode : {
154
				statusCode : {
147
				    500 : function(jqXHR, textStatus, errorThrown) {
155
				    500 : function(jqXHR, textStatus, errorThrown) {
148
						$("#dialogue-obs-transaction").append('<p id="msg">Un problème est survenu lors de la transmission de vos observations.</p>');
156
						$("#dialogue-obs-transaction").append('<p id="msg">Un problème est survenu lors de la transmission de vos observations.</p>');
149
						reponse = jQuery.parseJSON(jqXHR.responseText);
157
						reponse = jQuery.parseJSON(jqXHR.responseText);
150
						var erreurMsg = "";
158
						var erreurMsg = "";
151
						if (reponse != null) {
159
						if (reponse != null) {
152
							$.each(reponse, function (cle, valeur) {
160
							$.each(reponse, function (cle, valeur) {
153
								erreurMsg += valeur + "<br />";
161
								erreurMsg += valeur + "<br />";
154
							});
162
							});
155
						}
163
						}
156
						
164
						
157
						$("#dialogue-obs-transaction").append('<p id="msg-erreur">Erreur 500 : '+errorThrown+"<br />"+erreurMsg+'</p>');
165
						$("#dialogue-obs-transaction").append('<p id="msg-erreur">Erreur 500 : '+errorThrown+"<br />"+erreurMsg+'</p>');
158
				    }
166
				    }
159
				},
167
				},
160
				success : function(data, textStatus, jqXHR) {
168
				success : function(data, textStatus, jqXHR) {
161
					$("#dialogue-obs-transaction").append('<p id="msg">Vos observations ont bien été transmises.</p>');
169
					$("#dialogue-obs-transaction").append('<p id="msg">Vos observations ont bien été transmises.</p>');
162
				},
170
				},
163
				complete : function(jqXHR, textStatus) {
171
				complete : function(jqXHR, textStatus) {
164
					var debugMsg = "";
172
					var debugMsg = "";
165
					if (DEBUG && jqXHR.getResponseHeader("X-DebugJrest-Data") != '') {
173
					if (DEBUG && jqXHR.getResponseHeader("X-DebugJrest-Data") != '') {
166
						debugInfos = jQuery.parseJSON(jqXHR.getResponseHeader("X-DebugJrest-Data"));
174
						debugInfos = jQuery.parseJSON(jqXHR.getResponseHeader("X-DebugJrest-Data"));
167
						if (debugInfos != null) {
175
						if (debugInfos != null) {
168
							$.each(debugInfos, function (cle, valeur) {
176
							$.each(debugInfos, function (cle, valeur) {
169
								debugMsg += valeur + "<br />";
177
								debugMsg += valeur + "<br />";
170
							});
178
							});
171
							$("#dialogue-obs-transaction").append('<pre id="msg-debug">Débogage : '+debugMsg+'</pre>');
179
							$("#dialogue-obs-transaction").append('<pre id="msg-debug">Débogage : '+debugMsg+'</pre>');
172
						}
180
						}
173
					}
181
					}
174
					
182
					
175
					$("#dialogue-obs-transaction").dialog();
183
					$("#dialogue-obs-transaction").dialog();
176
					$("#liste-obs").removeData();
184
					$("#liste-obs").removeData();
177
					$('.obs').remove();
185
					$('.obs').remove();
178
					obsNumero = 0;
186
					obsNumero = 0;
179
				},
187
				},
180
	
188
	
181
			});
189
			});
182
		}
190
		}
183
		return false;
191
		return false;
184
	});
192
	});
185
});
193
});
186
 
194
 
187
//+---------------------------------------------------------------------------------------------------------+
195
//+---------------------------------------------------------------------------------------------------------+
188
// GOOGLE MAP
196
// GOOGLE MAP
189
 
197
 
190
var geocoder;
198
var geocoder;
191
var latLng;
199
var latLng;
192
var map;
200
var map;
193
var marker;
201
var marker;
194
var osmMapType;
202
var osmMapType;
195
function initialiserCarte() {
203
function initialiserCarte() {
196
	geocoder = new google.maps.Geocoder();
204
	geocoder = new google.maps.Geocoder();
197
	latLng = new google.maps.LatLng(43.577, 3.455);
205
	latLng = new google.maps.LatLng(43.577, 3.455);
198
	osmMapType = new google.maps.ImageMapType({
206
	osmMapType = new google.maps.ImageMapType({
199
		getTileUrl: function(coord, zoom) {
207
		getTileUrl: function(coord, zoom) {
200
			return "http://tile.openstreetmap.org/" +
208
			return "http://tile.openstreetmap.org/" +
201
			zoom + "/" + coord.x + "/" + coord.y + ".png";
209
			zoom + "/" + coord.x + "/" + coord.y + ".png";
202
		},
210
		},
203
		tileSize: new google.maps.Size(256, 256),
211
		tileSize: new google.maps.Size(256, 256),
204
		isPng: true,
212
		isPng: true,
205
		alt: "OpenStreetMap",
213
		alt: "OpenStreetMap",
206
		name: "OSM",
214
		name: "OSM",
207
		maxZoom: 19
215
		maxZoom: 19
208
	});
216
	});
209
	map = new google.maps.Map(document.getElementById('gg-map-carte'), {
217
	map = new google.maps.Map(document.getElementById('gg-map-carte'), {
210
		zoom: 9,
218
		zoom: 9,
211
		center: latLng,
219
		center: latLng,
212
		mapTypeId: google.maps.MapTypeId.ROADMAP,
220
		mapTypeId: google.maps.MapTypeId.ROADMAP,
213
		mapTypeControlOptions: {
221
		mapTypeControlOptions: {
214
			mapTypeIds: ['OSM', google.maps.MapTypeId.ROADMAP, google.maps.MapTypeId.HYBRID, google.maps.MapTypeId.SATELLITE, google.maps.MapTypeId.TERRAIN],    
222
			mapTypeIds: ['OSM', google.maps.MapTypeId.ROADMAP, google.maps.MapTypeId.HYBRID, google.maps.MapTypeId.SATELLITE, google.maps.MapTypeId.TERRAIN],    
215
			style: google.maps.MapTypeControlStyle.DROPDOWN_MENU}
223
			style: google.maps.MapTypeControlStyle.DROPDOWN_MENU}
216
	});
224
	});
217
	
225
	
218
	map.mapTypes.set('OSM', osmMapType);
226
	map.mapTypes.set('OSM', osmMapType);
219
	map.setMapTypeId(google.maps.MapTypeId.HYBRID);
227
	map.setMapTypeId(google.maps.MapTypeId.HYBRID);
220
	
228
	
221
	marker = new google.maps.Marker({
229
	marker = new google.maps.Marker({
222
		position: latLng,
230
		position: latLng,
223
		title: 'Ma station',
231
		title: 'Ma station',
224
		map: map,
232
		map: map,
225
		draggable: true
233
		draggable: true
226
	});
234
	});
227
	
235
	
228
	// Update current position info.
236
	// Update current position info.
229
	mettreAJourMarkerPosition(latLng);
237
	mettreAJourMarkerPosition(latLng);
230
	geocoderPosition(latLng);
238
	geocoderPosition(latLng);
231
	
239
	
232
	// Add dragging event listeners.
240
	// Add dragging event listeners.
233
	google.maps.event.addListener(marker, 'dragstart', function() {
241
	google.maps.event.addListener(marker, 'dragstart', function() {
234
		mettreAJourMarkerAdresse('Marqueur de station début du déplacement...');
242
		mettreAJourMarkerAdresse('Marqueur de station début du déplacement...');
235
	});
243
	});
236
	
244
	
237
	google.maps.event.addListener(marker, 'drag', function() {
245
	google.maps.event.addListener(marker, 'drag', function() {
238
		mettreAJourMarkerStatut('Marqueur de station en cours de déplacement...');
246
		mettreAJourMarkerStatut('Marqueur de station en cours de déplacement...');
239
		mettreAJourMarkerPosition(marker.getPosition());
247
		mettreAJourMarkerPosition(marker.getPosition());
240
	});
248
	});
241
	
249
	
242
	google.maps.event.addListener(marker, 'dragend', function() {
250
	google.maps.event.addListener(marker, 'dragend', function() {
243
		mettreAJourMarkerStatut('Marqueur de station déplacé (glisser/déposer).');
251
		mettreAJourMarkerStatut('Marqueur de station déplacé (glisser/déposer).');
244
		mettreAJourMarkerPosition(marker.getPosition());
252
		mettreAJourMarkerPosition(marker.getPosition());
245
		geocoderPosition(marker.getPosition());
253
		geocoderPosition(marker.getPosition());
246
	});
254
	});
247
	
255
	
248
	google.maps.event.addListener(map, 'click', function(event) {
256
	google.maps.event.addListener(map, 'click', function(event) {
249
		deplacerMarker(event.latLng);
257
		deplacerMarker(event.latLng);
250
	});
258
	});
251
}
259
}
252
 
260
 
253
function geocoderPosition(pos) {
261
function geocoderPosition(pos) {
254
	if (geocoder != undefined) {
262
	if (geocoder != undefined) {
255
		geocoder.geocode({
263
		geocoder.geocode({
256
			latLng: pos
264
			latLng: pos
257
		}, function(responses, status) {
265
		}, function(responses, status) {
258
			if (status == google.maps.GeocoderStatus.OK) {
266
			if (status == google.maps.GeocoderStatus.OK) {
259
				if (responses && responses.length > 0) {
267
				if (responses && responses.length > 0) {
260
					mettreAJourMarkerAdresse(responses[0].formatted_address);
268
					mettreAJourMarkerAdresse(responses[0].formatted_address);
261
					console.log(responses);
-
 
262
				} else {
269
				} else {
263
					mettreAJourMarkerAdresse("Impossible de trouver d'adresse pour cette position.");
270
					mettreAJourMarkerAdresse("Impossible de trouver d'adresse pour cette position.");
264
				}
271
				}
265
			} else {
272
			} else {
266
				mettreAJourMarkerAdresse("Un problème de géolocalisation est survenu : "+status+".");
273
				mettreAJourMarkerAdresse("Un problème de géolocalisation est survenu : "+status+".");
267
			}
274
			}
268
		});
275
		});
269
	}
276
	}
270
}
277
}
271
 
278
 
272
function mettreAJourMarkerStatut(str) {
279
function mettreAJourMarkerStatut(str) {
273
	document.getElementById('marqueur-statut').innerHTML = str;
280
	document.getElementById('marqueur-statut').innerHTML = str;
274
}
281
}
275
 
282
 
276
function mettreAJourMarkerPosition(latLng) {
283
function mettreAJourMarkerPosition(latLng) {
277
	document.getElementById('marqueur-coordonnees').innerHTML = [
-
 
278
		latLng.lat().toFixed(5),
284
	var lat = latLng.lat().toFixed(5);
279
		latLng.lng().toFixed(5)
285
	var lon = latLng.lng().toFixed(5); 
280
	].join(', ');
286
	document.getElementById('marqueur-wgs84').innerHTML = [lat, lon].join(', ');
281
	$("#marqueur-coordonnees").data('latLon', {'lat' : latLng.lat().toFixed(5), 'lon' : latLng.lng().toFixed(5)});
287
	$("#marqueur-coordonnees").data('latLon', {'lat' : lat, 'lon' : lon});
-
 
288
	
-
 
289
	Proj4js.defs["EPSG:4326"] = "+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs";
-
 
290
	Proj4js.defs["EPSG:2154"]="+title=RGF93 / Lambert-93 +proj=lcc +lat_1=49 +lat_2=44 +lat_0=46.5 +lon_0=3 +x_0=700000 +y_0=6600000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";
-
 
291
	var source = new Proj4js.Proj('EPSG:4326');// Coordonnées source : WGS 84
-
 
292
	var dest = new Proj4js.Proj('EPSG:2154');// Coordonnées destination  : Lambert 93
-
 
293
	var p = new Proj4js.Point(lon+','+lat);//lon+','+lat any object will do as long as it has 'x' and 'y' properties
-
 
294
	Proj4js.transform(source, dest, p);
-
 
295
	//Proj4js.reportError = function(msg) {alert(msg);}
-
 
296
	//console.log(p.toString());
-
 
297
	document.getElementById('marqueur-lambert93').innerHTML = [p.x.toFixed(0)+' '+dest.units, p.y.toFixed(0)+' '+dest.units].join(', ');
282
}
298
}
283
 
299
 
284
function mettreAJourMarkerAdresse(str) {
300
function mettreAJourMarkerAdresse(str) {
285
	document.getElementById('marqueur-adresse').innerHTML = str;
301
	document.getElementById('marqueur-adresse').innerHTML = str;
286
}
302
}
287
 
303
 
288
function deplacerMarker(latLon) {
304
function deplacerMarker(latLon) {
289
	if (marker != undefined) {
305
	if (marker != undefined) {
290
		marker.setPosition(latLon);
306
		marker.setPosition(latLon);
291
		mettreAJourMarkerStatut('Marqueur de station déplacé (clic).');
307
		mettreAJourMarkerStatut('Marqueur de station déplacé (clic).');
292
		mettreAJourMarkerPosition(marker.getPosition());
308
		mettreAJourMarkerPosition(marker.getPosition());
293
		geocoderPosition(marker.getPosition());
309
		geocoderPosition(marker.getPosition());
294
	}
310
	}
295
}
311
}