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
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 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); } }); }
Il n'affiche seulement l'icone des coordonnée que j'ai déclaré dans une variable mais pas pour le résultat trier.
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>"; } } } }
Est-ce que quelqu'un peut m'aider?
Merci
Partager