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 :
Donc la j'essaye juste de visualisé, et voici mon résultat :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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); }
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 : 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 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
Partager