Subversion Repositories eFlore/Applications.cel

Compare Revisions

Ignore whitespace Rev 2557 → Rev 2558

/trunk/src/org/tela_botanica/client/vues/observation/CartographieObservationVue.java
46,7 → 46,7
String valeurCommune = "Bourges"; // j'aurais préféré Bort-les-Orgues
LatLng centreFrance = null;
LatLng pointCommune = null;
String codeCommune = "";
String codeLoc = "";
 
int niveauZoom = 6;
 
97,18 → 97,22
}
public void obtenirInfosCommunes(LatLng coord) {
// Remise à zéro des infos restantes d'une ancienne requete
valeurCommune = "";
codeLoc = "";
oMediateur.obtenirInformationCoord(this, coord.lat(), coord.lng());
}
 
public void mettreAJourInfos(final LatLng pointNouvelleCommune, String infosComplementaires, int zoom) {
public void mettreAJourInfos(final LatLng pointNouvelleCommune, int zoom) {
GoogleMap mapNulle = null;
if(nmk != null) {
nmk.setMap(mapNulle);
}
pointCommune = pointNouvelleCommune;
nmk = fabriquerMarqueur(pointCommune, infosComplementaires);
nmk = fabriquerMarqueur(pointCommune);
nmk.setMap(map);
afficherInfoMarker(nmk);
afficherInfoMarker(nmk, construireContenuInfoMarker(nmk));
recentrerCarte(nmk.getPosition());
map.setZoom(zoom);
}
171,7 → 175,7
if(nmk != null) {
nmk.setMap(mapNulle);
}
nmk = fabriquerMarqueur(pointCommune,"");
nmk = fabriquerMarqueur(pointCommune);
nmk.setMap(map);
info.setContent("<div id=\"info_contenu\">"+
"Déplacez ce marqueur pour localiser votre observation (commune et coordonnées)<br />"
183,7 → 187,7
}
 
public void AfficherMessageAucuneInfos() {
mettreAJourInfos(centreFrance,"", niveauZoom);
mettreAJourInfos(centreFrance, niveauZoom);
Window.alert("Aucune information pour le nom donné");
}
 
207,7 → 211,8
bouton.addListener("click", new EventCallback() {
@Override
public void execute(EventObject e) {
EntiteGeographiqueObservation infosCommune = new EntiteGeographiqueObservation(codeCommune,valeurCommune,null,null);
EntiteGeographiqueObservation infosCommune = new EntiteGeographiqueObservation(codeLoc,valeurCommune,null,null);
// TODO: ajouter pays à tout Ceci
infosCommune.setLat(pointCommune.lat()+"");
infosCommune.setLon(pointCommune.lng()+"");
oMediateur.rafraichirSaisieCommuneObservation(infosCommune);
254,20 → 259,23
 
String nouvelleValeurCommune = infos.getZoneGeo();
valeurCommune = nouvelleValeurCommune;
if (infos.getIdZoneGeo() != null) {
codeCommune = Util.convertirChaineZoneGeoVersDepartement(infos.getIdZoneGeo());
} else {
codeCommune = "";
codeLoc = "";
if(infos.getIdZoneGeo() != null) {
if (infos.getPays().equals("FR")) {
codeLoc = Util.convertirChaineZoneGeoVersDepartement(infos.getIdZoneGeo());
} else {
codeLoc = infos.getPays();
}
}
pointCommune = coord;
mettreAJourInfos(coord, "", niveauZoom);
mettreAJourInfos(coord, niveauZoom);
}
masquerChargement(false);
}
public Marker fabriquerMarqueur(LatLng pointMarqueur, final String texte) {
public Marker fabriquerMarqueur(LatLng pointMarqueur) {
// ajout de marqueurs déplacables, qui affichent une bulle d'information
MarkerOptions options = MarkerOptions.create();
options.setDraggable(true);
278,6 → 286,7
@Override
public void handle(MouseEvent event) {
afficherInfoMarker(marker, construireContenuPartielInfoMarker(marker));
obtenirInfosCommunes(event.getLatLng());
}
});
298,7 → 307,7
info.close();
infoOuverte = false;
} else {
afficherInfoMarker(marker);
afficherInfoMarker(marker, construireContenuPartielInfoMarker(marker));
infoOuverte = true;
}
}
328,7 → 337,7
return carteAjoutee;
}
public void afficherInfoMarker(Marker marker) {
public String construireContenuInfoMarker(Marker marker) {
final String htmlBoutonOk = "<br /><button id=\"okMap\" class=\"x-btn-text\" type=\"button\">OK</button>";
 
String contenuMarker = "";
339,23 → 348,58
marker.setPosition(point);
niveauZoom = 6;
}
contenuMarker = "<div id=\"info_contenu\">"+
"Aucun nom de lieu trouvé à cet emplacement <br />"
+"Déplacez ce marqueur pour localiser votre observation (nom de lieu et coordonnées)<br />"
+"longitude="
+ Util.tronquerNombrePourAffichage("" + marker.getPosition().lng(), 5) + "<br />latitude="
+ Util.tronquerNombrePourAffichage("" + marker.getPosition().lat(), 5) + "</div>";
contenuMarker =
"<div id=\"info_contenu\">"+
"Aucun nom de lieu trouvé à cet emplacement <br />"
+"Déplacez ce marqueur pour localiser votre observation (nom de lieu et coordonnées)<br />"
+"longitude="+Util.tronquerNombrePourAffichage(""+marker.getPosition().lng(), 5)+"<br />"
+"latitude="+Util.tronquerNombrePourAffichage(""+marker.getPosition().lat(), 5)+
"</div>";
} else {
contenuMarker = ""
+valeurCommune+" ("+codeCommune+")<br />"
+"longitude="
+ Util.tronquerNombrePourAffichage("" + marker.getPosition().lng(), 5) + "<br />latitude="
+ Util.tronquerNombrePourAffichage("" + marker.getPosition().lat(), 5) ;
String chaineCommune = valeurCommune + ((codeLoc.isEmpty()) ? "" : " ("+codeLoc+")");
contenuMarker =
"<div id=\"info_contenu\">"+
chaineCommune+"<br />"
+"longitude="+Util.tronquerNombrePourAffichage(""+marker.getPosition().lng(), 5)+"<br />"
+"latitude="+Util.tronquerNombrePourAffichage(""+marker.getPosition().lat(), 5)+
"</div>";
}
info.setContent(contenuMarker+ htmlBoutonOk);
info.open(map, marker);
return contenuMarker+ htmlBoutonOk;
}
public String construireContenuPartielInfoMarker(Marker marker) {
final String htmlBoutonOk = "<br /><button id=\"okMap\" class=\"x-btn-text\" type=\"button\">OK</button>";
 
String contenuMarker = "";
contenuMarker =
"<div id=\"info_contenu\">"+
"<div class=\"recherche_infos_zone_geo\">"+
"<div class=\"recherche_infos_zone_geo_en_cours\">"+
"<img src=\"chargement_carte.gif\" />"+
"<div>"+
"Recherche du nom de lieu en cours... <br />"+
"Cela peut prendre un moment"+
"</div>"+
"<hr class=\"nettoyage\" />"+
"</div>"+
"Si vous ne désirez que les coordonnées, vous pouvez cliquer dès maintenant sur OK"+
"</div>"+
"longitude="+Util.tronquerNombrePourAffichage("" + marker.getPosition().lng(), 5)+"<br />"+
"latitude="+Util.tronquerNombrePourAffichage("" + marker.getPosition().lat(), 5)+
"</div>";
return contenuMarker+ htmlBoutonOk;
}
public void afficherInfoMarker(Marker marker, String contenuInfo) {
 
info.setContent(contenuInfo);
info.open(map, marker);
pointCommune = marker.getPosition();
info.addDomReadyListenerOnce(new InfoWindow.DomReadyHandler() {
@Override
public void handle() {
365,6 → 409,12
recentrerCarte(marker.getPosition());
}
public void afficherCarteEnAttenteAvecMarker(double lat, double lon) {
pointCommune = LatLng.create(lat, lon);
nmk.setPosition(pointCommune);
afficherInfoMarker(nmk, construireContenuPartielInfoMarker(nmk));
}
 
public double[] getCoordsCentreFrance() {
double[] coords = {47.0504, 2.2347};