У меня возникла проблема с методом open
на объекте infoWindow
.Маркеры API и JavaScript API Google Maps
Я хочу, чтобы все мои объекты утилиты моей карты динамически, но когда вызван метод open
, он вызывает ошибку, потому что связанный объект infoWindow
связан с undefined
.
Вот мой код:
// 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]);
});
}
[Где myList
это просто Arry из JSON отформатированных объектов. ]
Все маркеры и информационные окна хорошо установлены. Я могу получить доступ к их свойствам и распечатать их на консоли.
Но, как я сказал, infoWindows[i]
напечатан undefined, поэтому метод open
не найден. Контрарио I я могу получить доступ и распечатать атрибут content
этого объекта infoWindows[i]
. Кажется странным мне ...
Если кто-то может объяснить мне, что я буду рад :)