Trouver les markers les plus proches en fonction d'une adresse donnée
Bonjour,
Avec l'API GoogleMaps v3, je voudrais que l'utilisateur entre son adresse et qu'ensuite cela recherche les markers à proximité. Les markers
sur la carte sont affichés par l'intermédiaire d'un kml et donc pour les manipuler après en javascript ce n'est pas simple.
Auriez-vous une idée de la façon que je peux faire cela ?
Merci d'avance
Ordre des réponses [results]
Bonjour,
J'ai a peu près le même problème pour lequel je n'ai trouvé qu'une réponse partielle.
J'ai réussi à trier les distances et temps de trajet du plus près au plus loin, mais il m'a gardé l'ordre des théâtres d'origine.
-> CF http://www.sortir-au-theatre.com/?page=liste_theatres
Je n'ai donc pas réussi à trier les adresses et Logo et lien vers la fiche théâtre associée -> ils ne correspondent pas au kilométrage (et inversement :-) )
J'ai trié [results] mais il ne me prend pas en compte le reste.
Vous pouvez télécharger le code d'origine ici : http://www.sortir-au-theatre.com/liste_theatres.zip
Tout est donc faussé. Vous pouvez tester en vous rendant sur les fiches (le kmtrage ne correspond pas).
J'ai oublié quelque chose mais quoi ?
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| for (var i = 0; i < origins.length; i++) {
var results = response.rows[i].elements;
addMarker(origins[i], false);
// tri des donnees ordre croissant1
results.sort( function( a, b){
return( a.distance.value - b.distance.value);
});
for (var j = 0; j < results.length; j++) {
addMarker(destinations[j], true);
outputDiv.innerHTML += "<a href='" + url[j] + "' rel='external'><img src='" + logo[j] + "' width='100%'/><br />"
outputDiv.innerHTML += destinations[j]
outputDiv.innerHTML += "<br /><strong>Vous êtes à " + results[j].distance.text + " de ce théâtre</strong><br /> Durée de trajet : "
+ results[j].duration.text + "<br /></a><hr />";
}
}
}
} |
Merci les amis ...