J'ai la méthode ci-dessous asynchrone de géocodage ci-dessous, cela fonctionne comme prévu en prenant une adresse d'un tableau d'objets personnalisé que j'ai, mon problème est la cartographie du résultat à l'objet [i] J'ai lancé cette méthode, voir les résultats ne me donnent qu'une adresse formatée qui diffère de celle que j'ai entré, "Google ajoute quelques codes de zone, change St en rue etc." donc quand je reçois ces résultats, je n'ai aucun moyen de faire correspondre les nouvelles coordonnées Lat et Lng que j'ai obtenues à chaque objet en raison de la nature asynchrone de cette méthode et les résultats ne reviennent pas dans l'ordre.Google geocoder.geocode, mappage de variable asynchrone
Merci. Edit: mes pensées seraient de créer un moyen de remettre les résultats dans l'ordre, changer cela en synchrone, pas idéal je sais et je ne trouve pas d'exemples.
fonction iterateAndAddress (objArray) {
for(var i=0; i< objArray.length; i++) {
var address = objArray[i].BillingStreet +' '+objArray[i].BillingCity+' '+objArray[i].BillingCountry;
var geocoder = new google.maps.Geocoder();
console.log('Address = '+address);
if(geocoder) {
geocoder.geocode({ 'address': address}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
//console.log(results);
var lat = results[0].geometry.location.lat();
var lon = results[0].geometry.location.lng();
console.log('Address : '+results[0].formatted_address);
}else if(status == 'OVER_QUERY_LIMIT') {
}
else{
}
});
}
}
}
duplication possible de [Enregistrement des résultats du géocodeur dans un tableau - Problème de fermeture] (http://stackoverflow.com/questions/13067403/saving-geocoder-results-to-an-array-closure-trouble) – geocodezip