Subversion Repositories eFlore/Applications.cel

Rev

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

Rev 610 Rev 654
1
package org.tela_botanica.client.vues.observation;
1
package org.tela_botanica.client.vues.observation;
2
 
2
 
3
import org.tela_botanica.client.interfaces.Rafraichissable;
3
import org.tela_botanica.client.interfaces.Rafraichissable;
4
import org.tela_botanica.client.modeles.Configuration;
4
import org.tela_botanica.client.modeles.Configuration;
5
import org.tela_botanica.client.modeles.EntiteGeographiqueObservation;
5
import org.tela_botanica.client.modeles.EntiteGeographiqueObservation;
6
import org.tela_botanica.client.observation.ObservationMediateur;
6
import org.tela_botanica.client.observation.ObservationMediateur;
-
 
7
 
7
 
8
import com.google.gwt.core.client.JavaScriptObject;
8
import com.google.gwt.maps.client.InfoWindow;
9
import com.google.gwt.maps.client.InfoWindow;
9
import com.google.gwt.maps.client.InfoWindowContent;
10
import com.google.gwt.maps.client.InfoWindowContent;
10
import com.google.gwt.maps.client.MapType;
11
import com.google.gwt.maps.client.MapType;
11
import com.google.gwt.maps.client.MapWidget;
12
import com.google.gwt.maps.client.MapWidget;
12
import com.google.gwt.maps.client.Maps;
13
import com.google.gwt.maps.client.Maps;
13
import com.google.gwt.maps.client.control.LargeMapControl;
14
import com.google.gwt.maps.client.control.LargeMapControl;
14
import com.google.gwt.maps.client.event.MapClickHandler;
15
import com.google.gwt.maps.client.event.MapClickHandler;
15
import com.google.gwt.maps.client.event.MapZoomEndHandler;
16
import com.google.gwt.maps.client.event.MapZoomEndHandler;
16
import com.google.gwt.maps.client.event.MarkerClickHandler;
17
import com.google.gwt.maps.client.event.MarkerClickHandler;
17
import com.google.gwt.maps.client.event.MarkerDragEndHandler;
18
import com.google.gwt.maps.client.event.MarkerDragEndHandler;
18
import com.google.gwt.maps.client.event.MarkerDragStartHandler;
19
import com.google.gwt.maps.client.event.MarkerDragStartHandler;
19
import com.google.gwt.maps.client.geom.LatLng;
20
import com.google.gwt.maps.client.geom.LatLng;
20
import com.google.gwt.maps.client.overlay.Marker;
21
import com.google.gwt.maps.client.overlay.Marker;
21
import com.google.gwt.maps.client.overlay.MarkerOptions;
22
import com.google.gwt.maps.client.overlay.MarkerOptions;
22
import com.google.gwt.user.client.Timer;
23
import com.google.gwt.user.client.Timer;
23
import com.google.gwt.user.client.Window;
24
import com.google.gwt.user.client.Window;
24
import com.gwtext.client.core.EventCallback;
25
import com.gwtext.client.core.EventCallback;
25
import com.gwtext.client.core.EventObject;
26
import com.gwtext.client.core.EventObject;
26
import com.gwtext.client.core.Ext;
27
import com.gwtext.client.core.Ext;
27
import com.gwtext.client.core.ExtElement;
28
import com.gwtext.client.core.ExtElement;
-
 
29
import com.gwtext.client.widgets.BoxComponent;
-
 
30
import com.gwtext.client.widgets.Component;
28
import com.gwtext.client.widgets.Container;
31
import com.gwtext.client.widgets.Container;
29
import com.gwtext.client.widgets.Panel;
32
import com.gwtext.client.widgets.Panel;
-
 
33
import com.gwtext.client.widgets.event.ContainerListener;
30
import com.gwtext.client.widgets.event.ContainerListenerAdapter;
34
import com.gwtext.client.widgets.event.ContainerListenerAdapter;
31
import com.gwtext.client.widgets.form.Label;
35
import com.gwtext.client.widgets.form.Label;
32
import com.gwtext.client.widgets.layout.FitLayout;
36
import com.gwtext.client.widgets.layout.FitLayout;
33
import com.gwtext.client.widgets.layout.RowLayout;
37
import com.gwtext.client.widgets.layout.RowLayout;
34
import com.gwtext.client.widgets.layout.RowLayoutData;
38
import com.gwtext.client.widgets.layout.RowLayoutData;
35
 
39
 
36
public class CartographieObservationVue extends Panel implements Rafraichissable {
40
public class CartographieObservationVue extends Panel implements Rafraichissable {
37
 
41
 
38
	private String id = "cartographie_observation";
42
	private String id = "cartographie_observation";
39
	
43
	
40
	private ObservationMediateur oMediateur = null;
44
	private ObservationMediateur oMediateur = null;
41
	
45
	
42
	Panel panneauCarto = null;
46
	Panel panneauCarto = null;
43
	private MapWidget map;
47
	private MapWidget map;
44
	
48
	
45
	private boolean carteAjoutee = false;
49
	private boolean carteAjoutee = false;
46
	private boolean requeteEnCours = false;
50
	private boolean requeteEnCours = false;
47
	
51
	
48
	String valeurCommune = "Bourges";
52
	String valeurCommune = "Bourges";
49
	LatLng centreFrance = null;
53
	LatLng centreFrance = null;
50
	LatLng pointCommune = null;
54
	LatLng pointCommune = null;
51
	String codeCommune = "";
55
	String codeCommune = "";
52
	
56
	
53
	int niveauZoom = 13;
57
	int niveauZoom = 13;
54
 
58
 
55
	Label panneauExplication = new Label(
59
	Label panneauExplication = new Label(
56
			"Précisez le lieu de votre observation et cliquez sur OK. Les coordonnées sont données en degrés décimaux, comptés positivement vers le Nord pour la latitude, et vers l'Est pour la longitude");
60
			"Précisez le lieu de votre observation et cliquez sur OK. Les coordonnées sont données en degrés décimaux, comptés positivement vers le Nord pour la latitude, et vers l'Est pour la longitude");
57
 
61
 
58
	private InfoWindow info;
62
	private InfoWindow info;
59
 
63
 
60
	private boolean listenerInitialise = false;
64
	private boolean listenerInitialise = false;
61
 
65
 
62
	public CartographieObservationVue(ObservationMediateur om) {
66
	public CartographieObservationVue(ObservationMediateur om) {
63
		
67
		
64
		oMediateur = om;
68
		oMediateur = om;
65
		
69
		
66
		setTitle("Carto");
70
		setTitle("Carto");
67
		setAutoWidth(true);
71
		setAutoWidth(true);
68
		setPaddings(10);
72
		setPaddings(10);
69
 
73
 
70
		panneauCarto = new Panel();
74
		panneauCarto = new Panel();
71
		panneauCarto.setLayout(new FitLayout());
75
		panneauCarto.setLayout(new FitLayout());
72
 
76
 
73
		setLayout(new RowLayout());
77
		setLayout(new RowLayout());
74
		
78
		
75
 
79
 
76
		add(panneauExplication, new RowLayoutData(12));
80
		add(panneauExplication, new RowLayoutData(12));
77
		add(panneauCarto, new RowLayoutData());
81
		add(panneauCarto, new RowLayoutData());
78
		
82
		
79
		if(!carteAjoutee) {
83
		if(!carteAjoutee) {
-
 
84
			
80
			Maps.loadMapsApi(Configuration.getCleGoogleMaps(), "2", false, new Runnable() {
85
			Maps.loadMapsApi(Configuration.getCleGoogleMaps(), "2", false, new Runnable() {
81
				public void run() {
86
				public void run() {
82
					initialiserCarte(false);
87
					initialiserCarte(false);
83
					recentrerCarte();
-
 
84
				}
88
				}
85
			});
89
			});
86
		}
90
		}
87
				
91
				
88
		addListener(new ContainerListenerAdapter() {
92
		addListener(new ContainerListenerAdapter() {
89
			
93
			
90
			public void onAfterLayout(Container c) {
94
			public void onAfterLayout(Container c) {
91
				
95
				
92
				if(carteAjoutee) {
96
				if(carteAjoutee) {
93
					
-
 
-
 
97
					panneauCarto.setHeight("100%");
94
					if((panneauCarto.getHeight() - 20) > map.getSize().getHeight()) {
98
					if((panneauCarto.getHeight() - 20) > map.getSize().getHeight()) {
95
						map.setSize(map.getSize().getWidth()+"px", (panneauCarto.getHeight() - 20)+"px");
99
						map.setSize(map.getSize().getWidth()+"px", (panneauCarto.getHeight() - 20)+"px");
96
					}
100
					}
97
					panneauCarto.setHeight("100%");
-
 
98
					panneauCarto.doLayout();
101
					panneauCarto.doLayout();
-
 
102
					panneauCarto.expand();
99
				}
103
				}
100
			}
104
			}
101
		});
105
		});
102
		
106
		
103
		panneauCarto.setAutoHeight(true);
107
		panneauCarto.setAutoHeight(true);
104
	}
108
	}
105
	
109
	
106
	public void masquerChargement(boolean masquer) {
110
	public void masquerChargement(boolean masquer) {
107
		if (masquer) {
-
 
108
			ExtElement masked = Ext.get(id);
-
 
109
 
111
		
-
 
112
		if(panneauCarto.isVisible()) {
110
			if (masked != null) {
113
			if(masquer) {
111
				masked.mask("Chargement");
114
				panneauCarto.getEl().mask("Recherche des coordonnées et de la commune, veuillez patienter");
112
			}
-
 
113
		} else {
115
			} else {
114
			ExtElement masked = Ext.get(id);
-
 
115
 
-
 
116
			if (masked != null) {
-
 
117
				masked.unmask();
116
				panneauCarto.getEl().unmask();
118
			}
117
			}
119
		}
118
		}
120
	}
119
	}
121
	
120
	
122
	public void obtenirInfosCommunes(LatLng coord) {
121
	public void obtenirInfosCommunes(LatLng coord) {
123
		oMediateur.obtenirInformationCoord(this, coord);
122
		oMediateur.obtenirInformationCoord(this, coord);
124
	}
123
	}
125
 
124
 
126
	public void mettreAJourInfos(final LatLng pointNouvelleCommune, String infosComplementaires, int zoom) {
125
	public void mettreAJourInfos(final LatLng pointNouvelleCommune, String infosComplementaires, int zoom) {
127
 
126
 
128
		if (!carteAjoutee) {
127
		if (!carteAjoutee) {
129
			initialiserCarte(true);
128
			initialiserCarte(true);
130
		}
129
		}
131
 
130
 
132
		pointCommune = pointNouvelleCommune;
131
		pointCommune = pointNouvelleCommune;
133
		map.clearOverlays();
132
		map.clearOverlays();
134
		Marker nmk = fabriquerMarqueur(pointCommune, infosComplementaires);
133
		Marker nmk = fabriquerMarqueur(pointCommune, infosComplementaires);
135
		map.addOverlay(nmk);
134
		map.addOverlay(nmk);
136
		afficherInfoMarker(nmk);
135
		afficherInfoMarker(nmk);
137
		recentrerCarte();
136
		recentrerCarte();
138
	}
137
	}
139
 
138
 
140
	public void initialiserCarte(boolean commune) {
139
	public void initialiserCarte(boolean commune) {
141
		
140
		
142
		centreFrance = LatLng.newInstance(47.0504, 2.2347);
141
		centreFrance = LatLng.newInstance(47.0504, 2.2347);
143
		pointCommune = centreFrance;
142
		pointCommune = centreFrance;
144
		
143
		
145
		map = new MapWidget(pointCommune, niveauZoom);
144
		map = new MapWidget(pointCommune, niveauZoom);
146
		panneauCarto.add(map);
145
		panneauCarto.add(map);
147
		panneauCarto.doLayout();
146
		panneauCarto.doLayout();
148
		info = map.getInfoWindow();
147
		info = map.getInfoWindow();
149
		if(!commune) {
148
		if(!commune) {
150
			fabriquerMarqueurIndication();
149
			fabriquerMarqueurIndication();
151
		}
150
		}
152
		map.checkResizeAndCenter();
151
		map.checkResizeAndCenter();
153
		map.setUIToDefault();
152
		map.setUIToDefault();
154
		map.addControl(new LargeMapControl());
153
		map.addControl(new LargeMapControl());
155
		map.setCurrentMapType(MapType.getHybridMap());
154
		map.setCurrentMapType(MapType.getHybridMap());
156
		carteAjoutee = true;
155
		carteAjoutee = true;
157
		panneauCarto.doLayout();
156
		panneauCarto.doLayout();
158
		
157
		
159
		map.addMapClickHandler(new MapClickHandler() {
158
		map.addMapClickHandler(new MapClickHandler() {
160
 
159
 
161
			public void onClick(MapClickEvent event) {
160
			public void onClick(MapClickEvent event) {
162
				//TODO : quoi faire du double clic ?
161
				//TODO : quoi faire du double clic ?
163
				obtenirInfosCommunes(event.getLatLng());
162
				obtenirInfosCommunes(event.getLatLng());
164
			}
163
			}
165
			
164
			
166
		});
165
		});
167
		
166
		
168
		map.addMapZoomEndHandler(new MapZoomEndHandler() {
167
		map.addMapZoomEndHandler(new MapZoomEndHandler() {
169
 
168
 
170
			public void onZoomEnd(MapZoomEndEvent event) {
169
			public void onZoomEnd(MapZoomEndEvent event) {
171
				niveauZoom = event.getNewZoomLevel();
170
				niveauZoom = event.getNewZoomLevel();
172
			}
171
			}
173
			
172
			
174
		});
173
		});
175
	}
174
	}
176
	
175
	
177
	public void fabriquerMarqueurIndication() {
176
	public void fabriquerMarqueurIndication() {
178
		Marker marker = fabriquerMarqueur(pointCommune,"");
177
		Marker marker = fabriquerMarqueur(pointCommune,"");
179
		map.addOverlay(marker);		
178
		map.addOverlay(marker);		
180
		info.open(marker, new InfoWindowContent("<div id=\"info_contenu\">"+
179
		info.open(marker, new InfoWindowContent("<div id=\"info_contenu\">"+
181
				"Déplacez ce marqueur pour localiser votre observation (commune et coordonnées)<br />"
180
				"Déplacez ce marqueur pour localiser votre observation (commune et coordonnées)<br />"
182
				+"longitude="
181
				+"longitude="
183
				+ marker.getLatLng().getLongitude() + "<br />latitude="
182
				+ marker.getLatLng().getLongitude() + "<br />latitude="
184
				+ marker.getLatLng().getLatitude() + "</div>"));
183
				+ marker.getLatLng().getLatitude() + "</div>"));
185
		map.setZoomLevel(3);
184
		map.setZoomLevel(12);
186
	}
185
	}
187
 
186
 
188
	public void AfficherMessageAucuneInfos() {
187
	public void AfficherMessageAucuneInfos() {
189
		mettreAJourInfos(centreFrance,"", niveauZoom);
188
		mettreAJourInfos(centreFrance,"", niveauZoom);
190
		Window.alert("Aucune information pour le nom donné");
189
		Window.alert("Aucune information pour le nom donné");
191
	}
190
	}
192
 
191
 
193
	public int getNiveauZoom() {
192
	public int getNiveauZoom() {
194
		return niveauZoom;
193
		return niveauZoom;
195
	}
194
	}
196
	
195
	
197
	private void ajouterListenerBouton(final String idBouton) {
196
	private void ajouterListenerBouton(final String idBouton) {
198
		
197
		
199
		final ExtElement bouton = Ext.get(idBouton);
198
		final ExtElement bouton = Ext.get(idBouton);
200
		
199
		
201
		if(bouton == null) {
200
		if(bouton == null) {
202
			Timer t = new Timer() {
201
			Timer t = new Timer() {
203
				public void run() {
202
				public void run() {
204
					ajouterListenerBouton(idBouton);
203
					ajouterListenerBouton(idBouton);
205
				}
204
				}
206
				
205
				
207
			};
206
			};
208
			t.schedule(500);
207
			t.schedule(500);
209
			return;
208
			return;
210
		}
209
		}
211
		
210
		
212
		bouton.addListener("click", new EventCallback() {
211
		bouton.addListener("click", new EventCallback() {
213
			public void execute(EventObject e) {
212
			public void execute(EventObject e) {
214
				EntiteGeographiqueObservation infosCommune = new EntiteGeographiqueObservation(codeCommune,valeurCommune,null,null);
213
				EntiteGeographiqueObservation infosCommune = new EntiteGeographiqueObservation(codeCommune,valeurCommune,null,null);
215
				infosCommune.setLat(pointCommune.getLatitude()+"");
214
				infosCommune.setLat(pointCommune.getLatitude()+"");
216
				infosCommune.setLon(pointCommune.getLongitude()+"");
215
				infosCommune.setLon(pointCommune.getLongitude()+"");
217
				oMediateur.rafraichirSaisieCommuneObservation(infosCommune);
216
				oMediateur.rafraichirSaisieCommuneObservation(infosCommune);
218
			}
217
			}
219
		});	
218
		});	
220
		
219
		
221
		bouton.focus();
220
		bouton.focus();
222
	}
221
	}
223
 
222
 
224
	public void rafraichir(Object nouvelleDonnees,
223
	public void rafraichir(Object nouvelleDonnees,
225
			boolean repandreRaffraichissement) {
224
			boolean repandreRaffraichissement) {
226
		if (nouvelleDonnees instanceof String) {
225
		if (nouvelleDonnees instanceof String) {
227
			
226
			
228
			if(isVisible()) {
227
			if(isVisible()) {
229
				Window.alert((String)nouvelleDonnees);
228
				Window.alert((String)nouvelleDonnees);
230
			}
229
			}
231
		}
230
		}
232
 
231
 
233
		if (nouvelleDonnees instanceof EntiteGeographiqueObservation) {
232
		if (nouvelleDonnees instanceof EntiteGeographiqueObservation) {
-
 
233
			
-
 
234
			oMediateur.changementTabProg = true;
-
 
235
			oMediateur.afficherOngletCartographiqueSansLocaliser();
234
			
236
			
-
 
237
			EntiteGeographiqueObservation infos = (EntiteGeographiqueObservation) nouvelleDonnees;
-
 
238
			
-
 
239
			Double lat = 0.0;
-
 
240
			Double lon = 0.0;
-
 
241
			
235
			EntiteGeographiqueObservation infos = (EntiteGeographiqueObservation) nouvelleDonnees;
242
			try {
236
			LatLng coord = LatLng.newInstance(Double.parseDouble(infos.getLat()),
243
				lat = Double.parseDouble(infos.getLat());
-
 
244
				lon = Double.parseDouble(infos.getLon());
-
 
245
			} catch (NumberFormatException nbe) {
-
 
246
				
-
 
247
			}
-
 
248
			
237
					Double.parseDouble(infos.getLon()));
249
			LatLng coord = LatLng.newInstance(lat, lon);
238
			
250
			
239
			valeurCommune = infos.getCommune();
251
			valeurCommune = infos.getCommune();
240
			codeCommune = infos.getIdLocalite();
252
			codeCommune = infos.getIdLocalite();
241
			pointCommune = coord;
253
			pointCommune = coord;
242
			
254
			
243
			mettreAJourInfos(coord, "", niveauZoom);
255
			mettreAJourInfos(coord, "", niveauZoom);
244
		}
256
		}
245
		
257
		
246
		masquerChargement(false);
258
		masquerChargement(false);
247
	}
259
	}
248
	
260
	
249
	public Marker fabriquerMarqueur(LatLng pointMarqueur, final String texte) {
261
	public Marker fabriquerMarqueur(LatLng pointMarqueur, final String texte) {
250
		// ajout de marqueurs déplacables, qui affichent une bulle d'information
262
		// ajout de marqueurs déplacables, qui affichent une bulle d'information
251
		MarkerOptions options = MarkerOptions.newInstance();
263
		MarkerOptions options = MarkerOptions.newInstance();
252
		options.setDraggable(true);
264
		options.setDraggable(true);
253
		final Marker marker = new Marker(pointMarqueur, options);
265
		final Marker marker = new Marker(pointMarqueur, options);
254
		
266
		
255
		marker.addMarkerDragEndHandler(new MarkerDragEndHandler() {
267
		marker.addMarkerDragEndHandler(new MarkerDragEndHandler() {
256
			public void onDragEnd(MarkerDragEndEvent event) {
268
			public void onDragEnd(MarkerDragEndEvent event) {
-
 
269
				masquerChargement(true);
257
				obtenirInfosCommunes(marker.getLatLng());
270
				obtenirInfosCommunes(marker.getLatLng());
258
			}
271
			}
259
 
272
 
260
		});
273
		});
261
 
274
 
262
		marker.addMarkerDragStartHandler(new MarkerDragStartHandler() {
275
		marker.addMarkerDragStartHandler(new MarkerDragStartHandler() {
263
			public void onDragStart(MarkerDragStartEvent event) {
276
			public void onDragStart(MarkerDragStartEvent event) {
264
				info.setVisible(false);
277
				info.setVisible(false);
265
			}
278
			}
266
		});
279
		});
267
		
280
		
268
		marker.addMarkerClickHandler(new MarkerClickHandler() {
281
		marker.addMarkerClickHandler(new MarkerClickHandler() {
269
 
282
 
270
			public void onClick(MarkerClickEvent event) {
283
			public void onClick(MarkerClickEvent event) {
271
				if(info.isVisible()) {
284
				if(info.isVisible()) {
272
					info.close();
285
					info.close();
273
				} else {
286
				} else {
274
					afficherInfoMarker(marker);
287
					afficherInfoMarker(marker);
275
				}
288
				}
276
			}	
289
			}	
277
		});
290
		});
278
		
291
		
279
		return marker;
292
		return marker;
280
	}
293
	}
281
 
294
 
282
	public void recentrerCarte() {
295
	public void recentrerCarte() {
283
		
296
		
284
		if(this.getWidth() > 12 && this.getHeight() > 24) {
297
		if(this.getWidth() > 12 && this.getHeight() > 24) {
285
			map.setSize((this.getWidth() - 12)+"px" , (this.getHeight() - 24)+"px");
298
			map.setSize((this.getWidth() - 12)+"px" , (this.getHeight() - 24)+"px");
286
			panneauCarto.setSize((this.getWidth() - 12)+"px" , (this.getHeight() - 12)+"px");
299
			panneauCarto.setSize((this.getWidth() - 12)+"px" , (this.getHeight() - 12)+"px");
287
		}
300
		}
288
		map.setCenter(pointCommune, niveauZoom);
301
		map.setCenter(pointCommune, niveauZoom);
289
		map.checkResizeAndCenter();
302
		map.checkResizeAndCenter();
290
		doLayout();
-
 
291
	}
303
	}
292
 
304
 
293
	public boolean isCarteAjoutee() {
305
	public boolean isCarteAjoutee() {
294
		return carteAjoutee;
306
		return carteAjoutee;
295
	}
307
	}
296
	
308
	
297
	public void afficherInfoMarker(Marker marker) {
309
	public void afficherInfoMarker(Marker marker) {
298
		
310
		
299
		final String htmlBoutonOk = "<br /><button id=\"okMap\" class=\"x-btn-text\" type=\"button\">OK</button>";
311
		final String htmlBoutonOk = "<br /><button id=\"okMap\" class=\"x-btn-text\" type=\"button\">OK</button>";
300
 
312
 
301
		String contenuMarker = "";
313
		String contenuMarker = "";
302
		
314
		
303
		if(valeurCommune == null || valeurCommune.trim().equals("")) {
315
		if(valeurCommune == null || valeurCommune.trim().equals("")) {
304
			contenuMarker = "<div id=\"info_contenu\">"+
316
			contenuMarker = "<div id=\"info_contenu\">"+
305
			"Aucune commune française trouvée à cet emplacement <br />"
317
			"Aucune commune française trouvée à cet emplacement <br />"
306
			+"Déplacez ce marqueur pour localiser votre observation (commune et coordonnées)<br />"
318
			+"Déplacez ce marqueur pour localiser votre observation (commune et coordonnées)<br />"
307
			+"longitude="
319
			+"longitude="
308
			+ marker.getLatLng().getLongitude() + "<br />latitude="
320
			+ marker.getLatLng().getLongitude() + "<br />latitude="
309
			+ marker.getLatLng().getLatitude() + "</div>";
321
			+ marker.getLatLng().getLatitude() + "</div>";
310
		} else {
322
		} else {
311
			contenuMarker = ""
323
			contenuMarker = ""
312
			+valeurCommune+" ("+codeCommune+")<br />"
324
			+valeurCommune+" ("+codeCommune+")<br />"
313
			+"longitude="
325
			+"longitude="
314
			+ marker.getLatLng().getLongitude() + "<br />latitude="
326
			+ marker.getLatLng().getLongitude() + "<br />latitude="
315
			+ marker.getLatLng().getLatitude() ;
327
			+ marker.getLatLng().getLatitude() ;
316
		}
328
		}
317
		
329
		
318
		info.open(marker, new InfoWindowContent(""
330
		info.open(marker, new InfoWindowContent(""
319
				+ contenuMarker
331
				+ contenuMarker
320
				+ htmlBoutonOk));
332
				+ htmlBoutonOk));
321
		
333
		
322
		recentrerCarte();
334
		recentrerCarte();
323
		ajouterListenerBouton("okMap");
335
		ajouterListenerBouton("okMap");
324
	}
336
	}
-
 
337
	
-
 
338
	public LatLng getCentreFrance() {
-
 
339
		return LatLng.newInstance(47.0504, 2.2347);
-
 
340
	}
325
 
341
 
326
}
342
}