Hello,
j'ai actuellement un pb et j'ai beau me creuser les ménages je ne trouve pas.
Voila la situation:
J'ai une liste d'adresse dans ma page html et je souhaiterais obtenir les coordonnées Latitude/Longitude via GG maps. Mon problème n'est pas comment les récupérer mais plutot comment gérer la partie asynchrone.
Info: j utilise la bibliothèque jquery.
Voila mon bout de code (simplifié pour l'occasion)
le problème lorsque j appel cette fonction c'est que seul le dernier élément de mon tableau est remplit. Le problème apparait car la fonction n'attend pas le retour de GG avant de continuer mais effectue toutes les taches en parallèle.
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
28 //Récupère les coordonnées géographique function getGeocoding(){ $tabGeo = new Array(); //Je boucle sur les lignes de mon tableau $("#tableData tbody tr").each(function(i){ //Je récupère les parties de l'adresse adresse = $(this).find("[name="+this.id+"[adresse]]").val(); cp = $(this).find("[name="+this.id+"[cp]]").val(); ville = $(this).find("[name="+this.id+"[ville]]").val(); adr = adresse + " " + cp + " " + ville; elt = $(this); //Ci dessous l'origine de mon pb var geocoder = new GClientGeocoder(); geocoder.getLatLng(adr, function (point) { if( point){ elt.find(".latitude").html( point.x ); elt.find(".longitude").html( point.y ); } } ); }); }
Comment puis je faire pour effectuer chaque action l'un après l'autre ?
une idée ?
D'avance merci ...
Partager