Может кто-нибудь объяснить, почему мои информационные окна Google Maps открываются только в нижнем левом маркере? См. здесь скрипку http://jsfiddle.net/Vj3nw/7/
Когда я нажимаю на любой маркер, открывается только нижний левый. Я хотел бы, чтобы маркер, по которому щелкнули, открылся.
Я считаю, что проблема связана с приведенным ниже циклом, и этот вопрос, похоже, имеет ту же проблему Установка onclick для использования текущего значения переменной в цикле
«Проблема, с которой вы столкнулись, заключается в том, что javascript не использует область действия блока. Вместо этого все переменные имеют время жизни своей содержащей функции. Таким образом, во всех функциях onclick была только одна захваченная a, и все они видят ее конечное значение».
Я просто не могу перевести это решение на свое.
Большое спасибо.
for (var i = 0; i < 4; i++) {
var marker = new google.maps.Marker({
position: flightPlanCoordinates[i],
icon: Symbol,
map: map
});
infowindow = new google.maps.InfoWindow();
infowindow.setContent("hello");
google.maps.event.addListener(marker, 'click', function () {
infowindow.open(map, marker);
});
}