javascript - 将谷歌地图事件监听器添加到 InfoWindows 中的自定义关闭按钮

标签 javascript google-maps-api-3 infowindow

目前我正在尝试在 Google map 中实现我自己的自定义信息窗口。我发现了一个关于 5 ways to customize Google's InfoWindow 的很好的教程。从本教程中,我已经成功创建了自己的自定义信息窗口,但是我无法在信息窗口中实现自己的关闭按钮。

根据代码,我创建了自己的关闭按钮,该按钮附加到 InfoWindows 的内容。

<span id="iw-close-btn"><i class="fa fa-lg fa-times white"></i></span>

然后我使用 ma​​ps.google.event.addDomListener() 将事件监听器添加到元素:

var closeBtn = $('#iw-close-btn').get();
google.maps.event.addListener(closeBtn, 'click', function() {
   console.log('closed');
   infowindow.close();
});

但是每当我尝试单击该元素时它都不起作用(日志也不会出现)。

这是我使用 codepen.io 的整个示例代码: http://codepen.io/dannypranoto/pen/PNdvzb

您能帮我解决一下吗?任何形式的帮助将不胜感激。谢谢!

最佳答案

  1. 您说您使用 addDomListener 添加事件监听器,但您的代码显示使用 addListener

  2. 您识别关闭按钮的方式不正确。简单地看看你的 JavaScript 控制台就应该告诉你这一点。请改用 closeBtn[0]

所以完整的代码是:

google.maps.event.addListener(infowindow, 'domready', function() {

    var closeBtn = $('#iw-close-btn').get();

    google.maps.event.addDomListener(closeBtn[0], 'click', function() {

        infowindow.close();
    });
});

Updated Codepen

关于javascript - 将谷歌地图事件监听器添加到 InfoWindows 中的自定义关闭按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36887609/

相关文章:

javascript正则表达式删除括号中的尾随数字

javascript - 有什么办法可以自动可视化 JavaScript 代码树?

javascript - Maps API v3 : New InfoWindow,,带有 pixelOffset,带有来自 KML 的数据。

html - 谷歌地图 API v3 : Change Map Type Event

swift - 将数据从 Firebase 传输到自定义信息窗口

javascript - Gmaps API v3 -> 信息窗口内容未显示

javascript - 将状态从一个 React 组件传递到另一个

javascript - 我怎样才能防止这种 Material 波纹动画泄漏到其他 div 中?

google-maps-api-3 - 谷歌地图混合和空中瓷砖丢失

javascript - 自定义 Google Map API V3 PEGMAN 按钮