我正在尝试使用鼠标悬停和鼠标输出标记的功能,然后弹出infowindow并自动关闭它。然后,当用户单击标记时,我禁用该标记的mouseout以显示infowindow,直到用户手动关闭它。我想在用户点击infowindow的关闭时将鼠标添加回标记。
我有这段代码:
google.maps.event.addListener(marker, 'mouseover', function() {
infowindow.open(map, marker);
});
google.maps.event.addListener(marker, 'mouseout', function() {
//setTimeout(function() { infowindow.close(); }, 3000);
infowindow.close(map, marker);
});
google.maps.event.addListener(marker, 'click', function() {
infowindow.open(map, marker);
google.maps.event.clearListeners(marker, 'mouseout');
});
我正在尝试使用'click'事件来禁用'mouseout'。以上工作。现在我想在infowindow关闭后使用下面的'closeclick'添加'mouseout'事件。
google.maps.event.addListener(infowindow, 'closeclick', function() {
//google.maps.event.addListener(marker, 'mouseout', "");
});
我不知道该怎么做。有人能指出我正确的方向吗?
答案 0 :(得分:0)
我想出来并认为我会分享:
function attachData(marker, number) {
//snipped code that adds the events that are removed in closeMarker
google.maps.event.addListener(infowindow, 'closeclick', function() {
closeMarker(marker, number);
});
}
closeMarker函数清除所有当前事件,并通过调用attachData函数将其添加回来。
function closeMarker(marker, number) {
google.maps.event.clearListeners(marker, 'mouseover');
google.maps.event.clearListeners(marker, 'mouseout');
google.maps.event.clearListeners(marker, 'click');
google.maps.event.clearListeners(marker, 'closeclick');
attachData(marker, number);
}