В настоящее время у меня есть прослушиватель bounds_changed
, который очищает наложения маркеров, а затем воссоздает маркеры внутри границ карты.
Однако всякий раз, когда щелкают по маркеру и карта перемещается, информационное окно не отображается. Поскольку он уничтожен. Как мне добавить оператор if к следующему, который определит, был ли сделан щелчок по маркеру, и если да, то больше ничего не делать clearOverlays
и createMarkers
.
google.maps.event.addListener(map, 'bounds_changed', function() {
//alert(map.getBounds());
clearOverlays();
createMarkers(map, mgr);
});
Например
if(marker.click) {
} else {
clearOverlays();
createMarkers(map, mgr);
}
Окончательный рабочий код.
google.maps.event.addListener(map, 'bounds_changed', function() {
if(checkevent == false)
{
//alert(checkevent);
clearOverlays();
createMarkers(map, mgr);
}
});
и в прослушивателе для маркера нажмите
google.maps.event.addListener(marker5, 'click', function() { checkevent = true; infowindow5.open(map,marker5); setTimeout('checkevent = false', 3000); });