11521 sujets

JavaScript, DOM et API Web HTML5

Salut,

je suis pas une star en JS... et petit soucis.
Je souhaite via une fonction X créer un tableau de coordonnées GPS pour pouvoir l'exploiter ensuite avec une autre fonction Y pour initialiser une Google Map avec plusieurs marqueurs donc.

La fonction X retourne un objet JSON avec toutes les adresses à géocoder. Je fais donc une boucle sur chaque adresse pour les geocoder puis remplir mon tableau 'coords' avec les coordonnées obtenues.

Mais cela ne fonctionne pas, mon tableau me retourne des valeurs 'undefined'... est-ce que quelqu'un aurait une idée svp ?

Merki !

Dans le code ci-dessous je n'injecte que la latitude pour le moment, pour info.


function create_coords(retour) {
    retour = atob(retour);
    locations = JSON.parse(retour);
    var longueur = locations.length;
    var coords = new Array();
	for (var i=0; i<=longueur; i++) {
        var geocoder = new google.maps.Geocoder();  
        function geolocalise() {
            // Tentative de géocodage 
			geocoder.geocode({'address': locations[i]}, function(results, status) { 
			// Si géolocalisation réussie
				if (status == google.maps.GeocoderStatus.OK) {
					latitude = results[0].geometry.location.lat();
					longitude = results[0].geometry.location.lng();
				}
                else {
					alert('error');
				}
                coords[i] = latitude;
			});
		}
		geolocalise();
    }
    //alert(coords[0]+'/'+coords[1]+'/'+coords[2]);
 }
[/i][/i]
Hello,

A mon avis ton soucis survient lorsque que tu essaye de déterminer le nombre d’objet à parcourir dans ton JSON.

Comment est la structure de ton JSON ?
Quelle est la valeur de la variable longueur ?