IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

APIs Google Discussion :

recentrer une carte à chaque sélection


Sujet :

APIs Google

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 5
    Par défaut recentrer une carte à chaque sélection
    Bonjour,

    J'ai créé une map simple, centrée en un certain point dans initialize, avec une fonction qui me place des marqueurs et quelques autres trucs. Tout fonctionne correctement.

    J'aimerais maintenant, via un menu déroulant, pouvoir re-centrer cette carte en fonction des possibilités.
    Par exemple
    choix 1 : Paris -> la carte se recentre sur Paris
    choix 2 : Lille -> la carte se recentre sur Lille

    Je ne vois pas trop comment procéder.
    Pourriez-vous m'aider ?
    Merci

  2. #2
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 241
    Par défaut
    Bonsoir,
    il te faut utiliser la méthode setCenter de l'objet google.maps en passant en paramètres la nouvelle position du centre.
    Cette position est un objet google.maps.LatLng.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    var newCentre = new google.maps.LatLng( val_latitude, val_longitude);
    oMap.setCenter( newCentre);

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 5
    Par défaut
    Merci de ta réponse NoSmoking,

    J'ai essayé de faire qqch mais je manque sûrement de bases...

    Actuellement, j'en suis avec un formulaire avec un évènement onChange sur ma fonction initialize et des Value sous forme VALUE="lat,lon"

    Et voilà ce que j'ai mis dans ma fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    	var newCentre;
    	if (formulaire.Choix.ListeComm.selectedIndex != 0)
    		{
    		newCentre = new google.maps.LatLng(formulaire.Choix.ListeComm.options[formulaire.Choix.ListeComm.selectedIndex].value);
    		map.setCenter(newCentre);
    		}
    	else 
    		{
    		alert('Veuillez choisir une commune.');
    		}
    Est-ce que je m'y prends mal ? Dois-je faire 2 valeurs distinctes pour la lat et la lon ?
    Merci.

  4. #4
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 241
    Par défaut
    Est-ce que je m'y prends mal ? Dois-je faire 2 valeurs distinctes pour la lat et la lon ?
    l'approche est bonne, il te faut effectivement récupérer les 2 valeurs distinctement pour pouvoir initialisé un objet google.maps.LatLng
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    // recup de la value de l'option sélectionnée
    var valeur = formulaire.Choix.ListeComm.value;
    // recup des 2 valeurs distinctes
    var tab = valeur.split(',');    // convertit une chaine en tableau
    var lat = parseFloat( tab[0]);  // convertit une chaine en flottant
    var lon = parseFloat( tab[1]);  // convertit une chaine en flottant
    // création de l'objet LatLng
    var newCentre = new google.maps.LatLng( lat, lon);
    // centre la carte
    map.setCenter(newCentre);

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 5
    Par défaut
    Merci NoSmoking, vraiment.
    Avec les conversions pour obtenir 2 valeurs distinctes, cela fonctionne.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 23/03/2015, 10h50
  2. [Raphael JS] Sélection d'une zone sur une carte
    Par Oluha dans le forum Bibliothèques & Frameworks
    Réponses: 1
    Dernier message: 05/11/2012, 17h47
  3. Capture video depuis une carte DC30+
    Par Ertai dans le forum MFC
    Réponses: 2
    Dernier message: 19/02/2004, 16h19
  4. Aide sur une requete de sélection
    Par stephdiplo150 dans le forum Langage SQL
    Réponses: 4
    Dernier message: 16/01/2004, 11h40
  5. Accès au port 700h pour une carte d'interface
    Par haypo dans le forum Matériel
    Réponses: 3
    Dernier message: 07/11/2002, 12h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo