Accès variable (google maps v3)
Bonjour à tous,
Je post ce petit message car je suis sur un bug (incompréhensible) de mon code.
Pour faire simple, je me suis construis lors de mon code un array (artishow.geo.markerGaleries) avec toutes les infos sur plusieurs points de ma map.
Et j'ai une fonction ou je souhaite classer par distance :
Code:
1 2 3 4 5 6 7
|
appli.geo.classementParDistance = function () {
console.log(artishow.geo.markerGaleries);
console.log(artishow.geo.markerGaleries[0]);
console.log(artishow.geo.markerGaleries[0].id);
console.log(artishow.geo.markerGaleries[0].distance);
} |
Donc la j'essaye juste de visualisé, et voici mon résultat :
http://img4.hostingpics.net/pics/879064arf.jpg
Comme vous le voyez, alors qu'il y a aucune action entre ces lignes, la case distance passe en undefined... (Alors qu'on voit que par exemple, id marche, bizarre :(
Si ça peut aider à debug, voici la function qui assigne la distance :
Code:
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
|
appli.geo.getDistance = function (lat, lng, i) {
var optionsItineraireAffichage = {
//map: artishow.geo.map,
//panel: document.getElementById("EmplacementItineraireTexte")
}
var itineraireAffichage = new google.maps.DirectionsRenderer(optionsItineraireAffichage);
var itineraireService = new google.maps.DirectionsService();
var request = {
origin: artishow.geo.data.lat+', '+artishow.geo.data.lng,
destination: lat+', '+lng,
travelMode: google.maps.TravelMode.DRIVING
};
itineraireService.route(request, function(itineraireResultat, itineraireCodeStatut) {
if (itineraireCodeStatut === google.maps.DirectionsStatus.OK) {
itineraireAffichage.setDirections(itineraireResultat);
artishow.geo.markerGaleries[i].distance = itineraireResultat.routes[0].legs[0].distance.value;
artishow.geo.markerGaleries[i].duration = itineraireResultat.routes[0].legs[0].duration.value;
}
else {
alert('Erreur : ' + itineraireCodeStatut);
}
});
itineraireAffichage.setMap(null);
} |
Je vous remercie d'avance :D