1

目前我有一个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); });
4

1 回答 1

2

假设您有一个标记单击事件的侦听器,请将一个状态变量设置为事件侦听器的外部范围。在您的 bounds_changed 侦听器中,检查状态变量。始终在 bound_changed 侦听器结束时重置状态变量。

于 2012-06-21T17:00:32.073 回答