IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

APIs Google Discussion :

return dans un geocoder [Google Maps]


Sujet :

APIs Google

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2012
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2012
    Messages : 25
    Points : 21
    Points
    21
    Par défaut return dans un geocoder
    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;
    }

  2. #2
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 070
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 070
    Points : 44 677
    Points
    44 677
    Par défaut
    Bonjour,
    Je souhaite faire un return dans un geocoder mais cela ne semble pas possible.
    il te faut gérer le résultat de l'appel directement dans ta fonction callback.

    Déplace l’initialisation de ton tableau tri[] dans celle ci.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    tri.push(distance/1000); // On le met en Km

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. passer la valeur d'un return dans une méthode
    Par belukrin dans le forum Langage
    Réponses: 1
    Dernier message: 25/03/2006, 06h58
  2. Line Feed et Carriage Return dans un champs MEMO de Access..
    Par Mustard007 dans le forum Bases de données
    Réponses: 3
    Dernier message: 28/01/2006, 06h52
  3. Réponses: 5
    Dernier message: 24/05/2005, 10h09
  4. [Syntaxe] Un return dans un try... Comment faire ?
    Par chuky dans le forum Général Java
    Réponses: 13
    Dernier message: 14/01/2005, 10h33
  5. SSH "return" dans des fonctions
    Par geoffrey_k dans le forum Réseau
    Réponses: 6
    Dernier message: 08/11/2004, 16h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo