Bonjour,
Je souhaite faire un return dans un geocoder mais cela ne semble pas possible. faut t'il absolument faire un callback ?
Voici mon code
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 for(var j = 1; j<taille; j++){ where = getBoutique[j].adresse+", "+getBoutique[j].ville; //getBoutique contient 10-15 adresse tri[j]=boutiqueProche(lat, lon,where); //Je souhaite récupérer la distance entre ma position et l'adresse console.log("Nous somme dans "+tri[j]); }
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 function boutiqueProche(cLat, cLong,where, callback){ var geocoder= new google.maps.Geocoder(); var currentPosition = new google.maps.LatLng(cLat, cLong); // On récupère nos info var recup = getBoutique.length; var distance; geocoder.geocode({ 'address': where}, function(results, status) { if (status == google.maps.GeocoderStatus.OK) { var laBoutique = new google.maps.LatLng(results[0].geometry.location.lat(), results[0].geometry.location.lng()); //alert(laBoutique); distance = google.maps.geometry.spherical.computeDistanceBetween(currentPosition, laBoutique); //récupère la distance entre ma position et l'adresse recup=distance/1000; // On le met en Km } else{ if( status == google.maps.GeocoderStatus.OVER_QUERY_LIMIT){ setTimeout( function(){ boutiqueProche(cLat, cLong, where); // rappel fonction avec meme param }, 200); } else { /*Faire quelque chose */ } } }); return recup; }
Partager