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 :

Tri markers avec les destinations le plus proches [Google Maps]


Sujet :

APIs Google

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2012
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2012
    Messages : 23
    Par défaut Tri markers avec les destinations le plus proches
    Bonjour, en utilisant le tuto trouver le markers le plus proches, j'ai essayé d'intégrer une fonction qui a pour but d'afficher avec le résultat une icône qui va avec.

    Affichage du marker
    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
    function addMarker(location, isDestination) {
      var icon;
      if (isDestination) {
        icon  = image;
      } else {
        icon = originIcon;
      }
      geocoder.geocode({'address': location}, function(results, status) {
        if (status == google.maps.GeocoderStatus.OK) {
          bounds.extend(results[0].geometry.location);
          map.fitBounds(bounds);
          var marker = new google.maps.Marker({
            map: map,
            position: results[0].geometry.location,
            icon: icon
          });
          markersArray.push(marker);
        } else {
          alert('Geocode was not successful for the following reason: '
            + status);
        }
      });
    }
    Triage coordonnée
    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
    32
    33
    34
    35
    36
    37
    function callback( response, status){
     
      if (status != google.maps.DistanceMatrixStatus.OK) {
        alert('Erreur : ' + status);
      }
      else {
        var outputDiv = document.getElementById('outputDiv');
        outputDiv.innerHTML = '';
     
        var origins = response.originAddresses;
        var destinations = response.destinationAddresses;
        var results, ind, tabData;
        // parcours des donnes de chaque origine
        for( var i = 0; i < origins.length; i++) {
          results = response.rows[i].elements;
     
          // affectation des villes
          tabData = response.rows[i].elements;
          for( var ind = 0; ind < tabData.length; ind++) {
            tabData[ind].ville = response.destinationAddresses[ind];
          }
          // tri des donnees ordre croissant
          tabData.sort( function( a, b){
              return( a.distance.value - b.distance.value);
            });
    		  addMarker(origins[i],false);
          // parcours des donnes de chaque destination
          for( var j = 0; j <5; j++){        
            // ici on recupere ville et non destination qui n'a pas ete trie
    		  addMarker(destinations[j],true);          ///affichage markers origin et destination
            outputDiv.innerHTML += origins[i] + " -> " + results[j].ville + ": "
                + results[j].distance.text + " en "
                + results[j].duration.text + "<br>";
          }
        }
      }
    }
    Il n'affiche seulement l'icone des coordonnée que j'ai déclaré dans une variable mais pas pour le résultat trier.
    Est-ce que quelqu'un peut m'aider?
    Merci

  2. #2
    Modérateur

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 211
    Par défaut
    Bonjour,
    j'ai un peu de mal à comprendre pourquoi tu fais un geocoder.geocode dans ta fonction addMarker.

    Il n'affiche seulement l'icone des coordonnée que j'ai déclaré dans une variable mais pas pour le résultat trier.
    également du mal à comprendre



    [EDIT] j'ai du mal tout court

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2012
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2012
    Messages : 23
    Par défaut
    Bonjour,

    Il n'affiche seulement l'icone des coordonnée que j'ai déclaré dans une variable mais pas pour le résultat trier.
    par exemple j'ai fais comme ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    var destinationB= new google.maps.LatLng(-18.902689,47.532681);	
    var destinationC=  new google.maps.LatLng(-18.939213,47.489386);		
    var destinationD = new google.maps.LatLng(-18.869131,47.490528);		
    var destinationE = new google.maps.LatLng(-18.918731,47.539014);		
    var destinationF = new google.maps.LatLng(-18.913418,47.508472);		
    var destinationG = new google.maps.LatLng( -18.908939,47.525125);		
    var destinationH = new google.maps.LatLng(-18.919812,47.521513);		
    var destinationI = new google.maps.LatLng(-18.889301,47.512469 );		
    var destinationJ = new google.maps.LatLng(-18.896225,47.529536);
    Puis je veux par exemple trier les 5 premiers destination (tri à partir de la distance) via ma position :
    sur le distance matrix :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    origin1 -> destinationJ
    origin1 -> destinationE
    origin1 -> destinationC
    origin1 -> destinationH
    origin1 -> destinationF
    mais sur l'affichage de la carte il affiche seulement la position de :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    destinationB
    destinationC
    destinationD
    destinationE
    destinationF
    pourtant j'aimerais que ce soit comme l'affichage de la destination qui s'affiche :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    destinationJ
    destinationE
    destinationC
    destinationH
    destinationF

  4. #4
    Modérateur

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 211
    Par défaut
    Attention toutefois dans la fonction de tri les erreurs sur la réponse ne sont pas gérées, dans le cas d'un point non trouvé, statut ZERO_RESULTS, il n'y aura pas de données distance et duration, ce qui fera planter le script.

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2012
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2012
    Messages : 23
    Par défaut
    D'accord, merci pour l'astuce.
    Mais quel est le probème dans la fonction addMarker?

  6. #6
    Modérateur

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 211
    Par défaut
    Mais quel est le probème dans la fonction addMarker?
    il n'y a pas de soucis, j'étais à coté de mes pompes, j'ai d'ailleurs édité mon message

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

Discussions similaires

  1. Réponses: 18
    Dernier message: 04/11/2013, 13h30
  2. Réponses: 2
    Dernier message: 28/12/2012, 14h22
  3. Réponses: 11
    Dernier message: 04/03/2012, 19h12
  4. Réponses: 1
    Dernier message: 07/07/2009, 14h45
  5. [LG]Tri alphabetique avec les pointeurs
    Par zbooon dans le forum Langage
    Réponses: 4
    Dernier message: 06/03/2005, 17h04

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