我尝试为Info Window添加一些监听器,如:
//works
google.maps.event.addListener(markerInfoWindow, "closeclick", function()
{
console.log('trigger close');
});
//doesn't work
google.maps.event.addListener(markerInfoWindow, "click", function()
{
console.log('trigger close');
});
在我错过的文档中是否有infoWindow的事件列表,还是有其他方法可以完成任务?
实际上,问题是我想创建一个事件监听器来关闭mouseout
上的infoWindow
google.maps.event.addListener(markerInfoWindow, 'mouseout', function(){
console.log('trigger close');
self._setInfoWndClosed();
});
self._setInfoWndClosed()
在closeclick
事件的上下文中正常运行。我最终发现实际上听众本身并不起作用。
答案 0 :(得分:3)
InfoWindow没有记录“click”或“mouseover”事件:唯一的documented events on an google.maps.InfoWindow(目前)是:
<强>事件强>
closeclick 参数:无
单击关闭按钮时会触发此事件。
content_changed 参数:无
当内容属性更改时会触发此事件。
domready 参数:无
当包含InfoWindow的内容附加到DOM时会触发此事件。如果要动态构建信息窗口内容,您可能希望监视此事件。
position_changed 参数:无
当position属性发生变化时会触发此事件。
zindex_changed 参数:无
当InfoWindow的zIndex发生更改时会触发此事件。
您可以在InfoWindow的内容上添加“click”和“mouseover”事件的侦听器。
答案 1 :(得分:0)
此链接显示:
https://gist.github.com/thebouv/38f91f81675aad85f15d
您可以将“ domready”事件侦听器添加到您的信息窗口。一旦进入回调,您就可以通过id(使用标准的“ addEventListener”)将事件监听器附加到任何信息窗口元素上。 “ onclick”方法要好得多,但由于我正在使用react,因此在我的情况下效果不佳。