I'm facing an issue with the open
method on infoWindow
object.
I want to set all my map utility objects dynamically but when the open
method is called it raises me an error because the infoWindow
object associated is undefined
.
Here is my code :
// Markers & infoWindows
var markers = [];
var infoWindows = [];
for(var i=0; i<myList.length; i++) {
markers.push(
new google.maps.Marker({
position: myList[i].coord,
map: map,
title: myList[i].city
})
);
infoWindows.push(
new google.maps.InfoWindow({
content: myList[i].address
})
);
markers[i].addListener('click', function() {
infoWindows[i].open(map, markers[i]);
});
}
[ Where myList
is just an arry of JSON formated objects. ]
All the markers and infoWindows are well set. I can access their properties and print them to the console.
But as I said the infoWindows[i]
is typed undefined so the open
method isn't found. A contrario I can access and print the content
attribute of this infoWindows[i]
object. Seems weird to me...
If someone is able to explain me I will be happy :)