Сейчас я делаю это, чтобы создать маркеры для моей карты Google.
function createMarker(posn, title, html) {
var marker = new google.maps.Marker({ position: posn, title: title, draggable: false });
marker['infowindow'] = new google.maps.InfoWindow({ content: html });
infoWindows.push(marker['infowindow']);
google.maps.event.addListener(marker, "click", function () {
for (i = 0; i < infoWindows.length; i++) {
infoWindows[i].close();
}
this['infowindow'].open(map, this);
});
return marker;
}
Я не доволен циклом for, для закрытия маркеров, я знаю, что нечто подобное можно сделать, используя одну ссылку:
if (infowindow) infowindow.close ();
причина, по которой я использую код, описанный выше, в том, что я делаю что-то вроде
markers[myPoint]['infowindow'].open(map, markers[myPoint]);
еще где, (myPoint - это число).
как я могу избежать этого для цикла, чтобы закрыть открытые окна и сделать это хорошим способом?