Bonjour à tous,
Sur une carte je place des marker depuis une BDD, récupéré en ajax via json.
Les points se placent correctement sur la carte, mais il semble n'y avoir qu'une infobulle. Quelque soit le clic, c'est la meme infobulle, qui s'ouvre sur le premier marker.
Voici le code json que va chercher jquery :
Et voici la fonction :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 ([{"gps_nord":"45.7636909566187","gps_est":"4.88067626953125","frenchDateObs":"12\/04\/09","localite" :"Lyon","num_can":"ATATAT","email":"s.artois@sfr.fr"},{"gps_nord":"45.7598586878557","gps_est":"4.8944091796875" ,"frenchDateObs":"12\/04\/09","localite":"Lyon","num_can":"VTVTVT","email":"s.artois@sfr.fr"},{"gps_nord" :"45.7100152394337","gps_est":"4.8175048828125","frenchDateObs":"12\/04\/09","localite":"Lyon","num_can" :"GTGTGT","email":"s.artois@sfr.fr"}])
Donc je voudrais que chaque marker ai son infobulle. Mais dans mon code, vu que j'ai qu'une variable, je pense qu'il écrase à chaque fois l'infobulle. Il faudrait changer le nom de variable, mais j'y arrive pas. Vous avez une idée ?
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 $.ajax({ type:"POST", url:"ajaxrecorder.php", timeout:5000, data:"needcoords=0", dataType:"json", success:function (data, textStatus) { for (var x = 0; x < data.length; x++) { var point = new GLatLng(data[x].gps_nord,data[x].gps_est); var marker = new GMarker(point, {draggable: false}); marker.loc = data[x].localite; marker.dat = data[x].frenchDateObs; marker.numcan = data[x].num_can; marker.email = data[x].email; GEvent.addListener(marker, "click", function( ){ marker.openInfoWindowHtml( "Observation réalisée le "+marker.dat+"<br/>"+ "Par : "+marker.email+"<br/>"+ "A "+marker.loc+"<br/>"+ "Numéro du canard : "+marker.numcan ); }); map.addOverlay(marker); } }, error:function (xhr, textStatus, errorThrown) { console.log("error : "+xhr.status+", "+xhr.statusText); } });
Partager