/trunk/src/org/tela_botanica/client/vues/observation/FormulaireSaisieObservationVue.java |
---|
9,6 → 9,7 |
import java.util.Map; |
import org.tela_botanica.client.CarnetEnLigneMediateur; |
import org.tela_botanica.client.cel2; |
import org.tela_botanica.client.interfaces.Rafraichissable; |
import org.tela_botanica.client.modeles.dao.ListeReferentielChampsEtendusDAO; |
import org.tela_botanica.client.modeles.objets.ChampEtendu; |
34,6 → 35,7 |
import com.google.gwt.user.client.Window; |
import com.google.gwt.user.client.ui.HTML; |
import com.google.gwt.user.client.ui.PopupPanel; |
import com.google.maps.gwt.client.LatLng; |
import com.gwtext.client.core.EventCallback; |
import com.gwtext.client.core.EventObject; |
import com.gwtext.client.core.Ext; |
332,7 → 334,7 |
commune.setLoadingText("Recherche..."); |
commune.setHideTrigger(true); |
//création du lien "Accès carto" dans le formulaire |
//création du lien "Accès carto" dans le formulaire |
basculerverscarto = new HTML(" <a id=\"lien_carto\" href=\"#\" tabindex=\"2\">Localiser la commune</a>"); |
basculerverscarto.addStyleName("lien_actif"); |
2135,7 → 2137,45 |
if(coordonneesValides() != null) { |
observationMediateur.obtenirInformationCoord(coordonneesValides()[0],coordonneesValides()[1]); |
} else { |
observationMediateur.afficherFenetreCarto(); |
// Centrage de la carte sur une zone correspondant plus ou moins au référentiel. |
// En dur car la config est tellement mal foutue que j'ai envie de me pendre. |
String referentiel = this.getReferentielTaxo(); |
String referentielRacine = referentiel.substring(0, referentiel.indexOf(':')); |
Double lat = null, lon = null; |
int zoom = 6; |
switch(referentielRacine) { |
case "isfan" : |
lat = 29.28358; |
lon = 10.21884; |
zoom = 5; |
break; |
case "apd" : |
lat = 8.75624; |
lon = 1.80176; |
zoom = 5; |
break; |
case "bdtxa" : |
lat = 14.6; |
lon = -61.08334; |
zoom = 7; |
break; |
case "bdtfx" : |
default: |
lat = 47.0504; |
lon = 2.2347; |
zoom = 6; |
} |
if (lat != null && lon != null) { |
// centrage sur la zone |
EntiteGeographiqueObservation infos = new EntiteGeographiqueObservation(); |
infos.setLon("" + lon); |
infos.setLat("" + lat); |
infos.setZoom(zoom); |
observationMediateur.rafraichirFenetreCartoSurPoint(infos); |
} else { |
// affichage par défaut au cas où on n'aurait pas trouvé de coordonnées pour centrer |
observationMediateur.afficherFenetreCarto(); |
} |
} |
} |
/trunk/src/org/tela_botanica/client/vues/observation/CartographieObservationVue.java |
---|
1,5 → 1,6 |
package org.tela_botanica.client.vues.observation; |
import org.tela_botanica.client.cel2; |
import org.tela_botanica.client.interfaces.Rafraichissable; |
import org.tela_botanica.client.modeles.objets.EntiteGeographiqueObservation; |
import org.tela_botanica.client.observation.ObservationMediateur; |
38,15 → 39,15 |
Panel panneauCarto = null; |
GoogleMap map = null; |
Marker nmk = null; |
private boolean carteAjoutee = false; |
private boolean infoOuverte = false; |
String valeurCommune = "Bourges"; // j'aurais préféré Bort-les-Orgues |
LatLng centreFrance = null; |
LatLng pointCommune = null; |
String codeCommune = ""; |
int niveauZoom = 6; |
Label panneauExplication = new Label( |
58,7 → 59,7 |
public CartographieObservationVue(ObservationMediateur om) { |
oMediateur = om; |
setHeader(false); |
setAutoWidth(true); |
setPaddings(10); |
67,13 → 68,12 |
panneauCarto.setLayout(new FitLayout()); |
setLayout(new RowLayout()); |
panneauCarto.setAutoHeight(true); |
add(panneauExplication, new RowLayoutData(12)); |
add(panneauCarto, new RowLayoutData()); |
addListener(new ContainerListenerAdapter() { |
@Override |
public void onAfterLayout(Container c) { |
initialiserCarte(false); |
80,11 → 80,11 |
} |
}); |
} |
public void setTailleCarte(int hauteur, int largeur) { |
setSize(largeur, hauteur); |
} |
public void masquerChargement(boolean masquer) { |
if(panneauCarto.isVisible()) { |
220,6 → 220,8 |
@Override |
public void rafraichir(Object nouvelleDonnees, boolean repandreRaffraichissement) { |
// rétablissement du curseur, parfois mis sur "attente" par le processus chargeant la carte |
Util.curseurParDefaut(); |
if (nouvelleDonnees instanceof String) { |
246,11 → 248,17 |
if (zoomerSurRetour) { |
niveauZoom = 16; |
zoomerSurRetour = false; |
} else if (infos.getZoom() > 0) { |
niveauZoom = infos.getZoom(); |
} |
String nouvelleValeurCommune = infos.getZoneGeo(); |
valeurCommune = nouvelleValeurCommune; |
codeCommune = Util.convertirChaineZoneGeoVersDepartement(infos.getIdZoneGeo()); |
if (infos.getIdZoneGeo() != null) { |
codeCommune = Util.convertirChaineZoneGeoVersDepartement(infos.getIdZoneGeo()); |
} else { |
codeCommune = ""; |
} |
pointCommune = coord; |
mettreAJourInfos(coord, "", niveauZoom); |