Je crée plusieurs Gmarkers (à partir de données JSON chargées par la fonction "load" de JQuery), sur chacun d'eux j'ajoute un écouteur d'événement pour ouvrir l'objet infowindow que j'ai créé avant sur le marqueur, puis je les ajoute tous à la carte.Google map (v3) infowindow ouvrant sur le même marqueur tout le temps
Le problème est que l'infowindow s'ouvre toujours sur le même marqueur. Je travaillais tous avant, je ne vois pas où est le problème ... la portée de la variable? erreur stupide quelque part?
Je téléversé un example, et voici un shortcut to the javascript file
Le code:
var map;
var infowindow;
$(document).ready(function() {
var myLatlng = new google.maps.LatLng(47.15984,2.329102);
var myOptions = {
zoom: 6,
center: myLatlng,
mapTypeId: google.maps.MapTypeId.HYBRID,
scrollwheel: false
}
map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
infowindow = new google.maps.InfoWindow({content:'<p>Test</p>'});
$.getJSON("data.json", function(data) {
var markers = [];
for (var i = data.length - 1; i >= 0; i--){
var latLng = new google.maps.LatLng(data[i].lat, data[i].lng);
var marker = new google.maps.Marker({position: latLng});
google.maps.event.addListener(marker, 'click', function() {
infowindow.open(map,marker);
});
markers.push(marker);
};
for (var j = markers.length - 1; j >= 0; j--){
markers[j].setMap(map);
};
});
});
Ce mec est génial :) – Julien