[AJAX] passer un argument a une fonction de callback ?
Bonjour a tous,
j'essaie de récupérer des coordonnées gps de villes avec google map. Je me prend la tête sur un bête petit problème :
gclient.getLatLng, qui renvoie des coordonées d'après une chaine prend en argument une chaine de caractère et une fonction callback a laquelle elle envoie un objet GLatLng.
J'essaie de faire passer un indice de tableau en plus de cet objet mais pas moyen:cry:...
Les coordonnées s'affichent bien avec le alert alert("insee:"+" "+latln.lat()+","+latln.lng());
mais le alert(i); m'indique "undefined"
Quelqu'un aurait-il une solution ?
Merci...
PS : j'avais déjà essayer avec juste test(latln, i) à la place de function(latln, i){alert(i);test(latln, i)}) comme callback.
Voici le code en question :
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
| function gmap_sql(responseObject)
{
chaine = new Array();
var gclient = new GClientGeocoder;
for(var i=0; typeof(responseObject[i]) !="undefined"; i++)
{
var loader = document.createElement('div');
loader.innerHTML = responseObject[i].chaine+" "+responseObject[i].insee ;
chaine[i] = responseObject[i].chaine ;
insee[i] = responseObject[i].insee ;
//########## ICI #########
gclient.getLatLng(chaine[i]+" "+insee[i],function(latln, i){alert(i);test(latln, i)});
document.getElementById("cont").appendChild(loader);
}
}
//Callback
function test(latln,i)
{
alert("insee:"+" "+latln.lat()+","+latln.lng());
} |