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 :

Itinéraire avec plusieurs points [Google Maps]


Sujet :

APIs Google

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2017
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2017
    Messages : 7
    Par défaut Itinéraire avec plusieurs points
    Bonjour tout le monde
    je voulais lier plusieurs points entre eux avec google map mais le probléme que ça marchait avec 2 points mais 3 non .
    les cordonnées des points sont dans la database , je les importe avec un autre fichier en utilisant JSON , dans mon cas par exemple j'ai 3 points
    point(A)=paris
    point(B)=berlin
    point(C)=prague
    je voulais : A---->B---->C
    mais le code affiche que B--->C

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    var xmlhttp = new XMLHttpRequest();
             xmlhttp.onreadystatechange = function() {
             if (this.readyState == 4 && this.status == 200) {
             var myObj2= JSON.parse(this.responseText);
             var mapOptions = {
             center: new google.maps.LatLng(42.5584308, -70.8597732),zoom: 3,
              };
             var map = new google.maps.Map(document.getElementById("map"), mapOptions);
             var directionsDisplay=[];
             for(var i=0;i<myObj2.length-1;i++){//myObj2.length=3
             var depart = new google.maps.LatLng(myObj2[i].latitude, myObj2[i].longitude);// for :i=0 = point(A) .... i=1 =point(B)
            var destination = new google.maps.LatLng(myObj2[i+1].latitude, myObj2[i+1].longitude);//i=1 : point(B)...i=2 =point(C)
             directionsService = new google.maps.DirectionsService;
             directionsDisplay[i] = new google.maps.DirectionsRenderer;
              directionsDisplay[i].setMap(map);
              var request = {
                origin: depart,
                destination: destination,
                travelMode: google.maps.DirectionsTravelMode.DRIVING
               };
              directionsService.route(request, function(response, status) {
              if (status == google.maps.DirectionsStatus.OK) {
              alert(i) ; //  je constate qu'il m'affiche pas i=0 ni i=1 .... il m'affiche seulement i=2 alors que normalement la boucle for s'arrete sur i<2 (i=1)
                  directionsDisplay[i].setDirections(response);
                }
              });
            }
            }
            };
            xmlhttp.open("GET", "db4.php?datee="+dd1+"&voiture="+dd6, true);
            xmlhttp.send();
    j'utilise une boucle for et si je teste avec alert(i) , je constate qu'il m'affiche pas i=0 ni i=1 .... il m'affiche seulement i=2
    alors que normalement que la boucle s'arrete sur i<2 (i=1)
    quelqu'un peut m'aider s'il vous plaît ?

  2. #2
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 132
    Par défaut
    Salut

    Il te manque un paramètre waypoints dans ta requête request , il te faut indiquer le/les points intermédiaires entre origin: depart et destination: destination.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    //var waypts[0] =  (point(C))
             var request = {
                origin: depart,
                destination: destination,
                waypoints: waypts, 
               travelMode: google.maps.DirectionsTravelMode.DRIVING
    Ici waypts est un tableau des points intermédiaires (longitude,latitude), sans le point destination.
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2017
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2017
    Messages : 7
    Par défaut
    Bonjour,
    j'ai pas bien compris , le tableau waypts contient (longitude,latitude) de quel point ? par exempe si je veux lier point A avec B ; et point B avec point C .. je mets quoi ?

  4. #4
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 132
    Par défaut
    Re
    //var waypts[0] = (point(C))
    Faux, //var waypts[0] = (point(B))

    Ta requête, pour les points de traçage, est composé de:
    origin: depart, ton point(A)
    destination: destination, ton point(C)
    et de
    waypoints: waypts, ton point(B)

    Si tu as un itinéraire avec un départ, 5 étapes et une arrivée: (A,B,C,D,E,F,G)
    origin: depart, ton point(A)
    destination: destination, ton point(G)
    et de
    waypoints: waypts, seras un tableau/array des point(B à F)
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  5. #5
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2017
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2017
    Messages : 7
    Par défaut
    merci problème résolu

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

Discussions similaires

  1. [Google Maps] Itinéraire de plusieurs points d'une bdd mysql
    Par nolookpass8 dans le forum APIs Google
    Réponses: 13
    Dernier message: 28/10/2013, 21h43
  2. API avec plusieurs points
    Par morphine63 dans le forum APIs Google
    Réponses: 4
    Dernier message: 31/03/2011, 19h25
  3. Réponses: 2
    Dernier message: 26/09/2003, 15h54
  4. ProgressBar avec plusieurs procédures
    Par elifqaoui dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 08/09/2002, 18h03
  5. Shortcut avec plusieurs touches
    Par scorpiwolf dans le forum C++Builder
    Réponses: 4
    Dernier message: 06/07/2002, 15h57

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