我喜欢跟踪在Google Maps界面上打开的所有信息窗口(我将它们的名称存储在一个数组中),但是当它们通过每个窗口右上角的"x"关闭时,我想不出如何将它们从数组中删除.

Is there some sort of callback I can listen for? Or maybe I can do something like addListener("close", infowindow1, etc ?

推荐答案

我在这里找到的唯一一致的解决方案是保留指向infoWindow的指针,并在需要验证它是否已关闭时判断其.getMap()方法.

The reason for this is that clicking another element can cause the infoWindow to be dismissed for other reasons... without the closeclick event firing.

var infoWindow = new google.maps.InfoWindow({ content: 'Something to put here.' });
infoWindow.open(map, infoWindow);

setInterval(function ()
{
    console.log("infoWindow is bound to map: "+(infoWindow.getMap() ? true : false));

}, 1000);

... 如果你真的只关心infoWindow是否使用"X"按钮关闭,那么监控closeclick就可以了.然而,它可能或已经关闭还有其他原因.

Jquery相关问答推荐

在 Mastodon 中将 jQuery 添加到 Rails 6

如何以十六进制获取元素的背景 colored颜色 代码?

jQuery 滚动到 Div

如何在循环内创建动态变量名称?

jQuery/JavaScript 碰撞检测

如何正确卸载/销毁 VIDEO 元素

javascript 正则表达式用于包含至少 8 个字符、1 个数字、1 个大写和 1 个小写的密码

如何将数组传递给 jQuery .data() 属性

将打开/关闭图标添加到 Twitter Bootstrap 可折叠项(手风琴)

用 Javascript 加载 jQuery 并使用 jQuery

更改占位符文本

.append 之后的 jQuery 函数

如何防止使用光标拖动 Select 文本/元素

如果一个元素正在被动画,我如何用 jQuery 找出?

调整浏览器大小时如何自动居中 jQuery UI 对话框?

为什么要定义一个匿名函数并将 jQuery 作为参数传递给它?

如何在jQuery中 Select 最后一个子元素?

使用中键触发 onclick 事件

为什么我应该创建异步 WebAPI 操作而不是同步操作?

jQuery - 不可见时获取元素的宽度(显示:无)