utilisation asyncrone de javascript ?

bucheron
WRInaute discret
WRInaute discret
 
Messages: 130
Inscription: 16 Juin 2006

utilisation asyncrone de javascript ?

Message le Mar Avr 28, 2009 19:04

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'occassion)


Code: Tout sélectionner
//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);
      //je récupère les coord, mais la problème
          var geocoder = new google.maps.ClientGeocoder();

          geocoder.getLatLng(adr, function (point) {
               if( point){
               elt.find(".latitude").html( point.x );
               elt.find(".longitude").html( point.y );
              }
           } );
   });

}



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.

Comment puis je faire pour effectuer chaque action l'un après l'autre ?
une idée ?
D'avance merci ...

Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: ISFR et 0 invités