Google Maps检测标记在event.addlistener中单击

时间:2012-06-21 15:37:33

标签: javascript google-maps google-maps-api-3 google-maps-markers

目前我有一个bounds_changed侦听器,它正在清除标记叠加层,然后在地图边界内重新创建标记。

但是,无论何时单击标记并且地图移动,信息窗口都不会显示。因为它已经消失了。如何在以下内容中添加if语句,以检测标记上的点击是否已完成,如果是,则执行其他操作clearOverlayscreateMarkers

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); });

1 个答案:

答案 0 :(得分:2)

假设您有一个标记点​​击事件的监听器,请在外部设置一个状态变量到事件监听器。在bounds_changed侦听器中,检查状态变量。始终在bound_changed侦听器的末尾重置状态变量。