Bonjour,
J'essaie de créer des marqueurs sur une carte via l'api google maps.
Je commence par construire ma variable sur le modèle de la FAQ :
http://javascript.developpez.com/faq...owBonAffichage
Dans ma page, j'affiche des adresses dans des champs cachés :
Code html : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 <input type="hidden" name="nbadresses" id="nbadresses" value="2"> <div id="map-canvas"></div> <input type="hidden" id="adresse1" value="2, rue de Rivoli<br>75004 PARIS"> <input type="hidden" id="adresse2" value="7, boulevard Magenta<br>75010 PARIS">
Voilà mon code pour créer mon tableau d'éléments :
Le alert(strpositions[0]); m'affiche undefined.
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
29
30
31 var strpositions = new Array(); function TrouverAdresse() { var nbadresses = document.getElementById('nbadresses').value; var tMarker = "[" // Création du tableau des adresses for (var i = 1; i <= nbadresses; i++) { var adresse = eval("document.getElementById('adresse" + i + "').value"); geocoder = new google.maps.Geocoder(); geocoder.geocode( { 'address': adresse}, function(results, status) { if (status == google.maps.GeocoderStatus.OK) { var strposition = results[0].geometry.location+""; //Supprimer les parenthèses strposition = strposition.replace('(', ''); strposition = strposition.replace(')', ''); //Mettre en tableau les lat et lon de l'adresse courante strpositions = strposition.split(','); } }); alert(strpositions[0]); tMarker += "{'lat' :" + strpositions[0] + ", 'lon' :" + strpositions[1] + ", 'title' :'Ouvrir', 'info' :'" + adresse + "'},\n"; } //Supprimer la dernière virgule tMarker = tMarker.substring(0,tMarker.length-1); //Ajouter le crochet fermant tMarker += "];"; //alert(tMarker); }
Pourtant j'ai l'impression que mes déclarations sont correctes, non ?
Si quelqu'un voit où je fais une erreur ?
Merci.
Partager