J'ai un tableau javascript de coordonnées GPS. Je souhaite ajouter à chaque ligne (point GPS) l'adresse civique à l'aide de l'API Google Maps de géocodage inverse. Il semble que, en raison de la nature asynchrone des APIs Google Maps, je reçois les adresses, mais elles sont affectées aux mauvaises coordonnées. En d'autres termes, le script s'exécute après la fin de la boucle, puis attribue les valeurs à la matrice dans le mauvais ordre. J'ai essayé la solution dans Google Maps API Geocode Synchronously, mais l'exécution se bloque dans la boucle et à la fin s'arrete avec un message (google chrome out of memory ...).
Voici mon code:
Merci pour l'aide..
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 var done = false; while(!done){ // wait until request is processed geocoder.geocode({'location': latlng}, function(results, status) { done=true; if (status == google.maps.GeocoderStatus.OK) { console.log(results[0].formatted_address); civicAddress=results[0].formatted_address; NodesArray.push([lightId, lightLat, lightLng, civicAddress]); } else { window.alert('No results found'); } }); }
Partager