目前我正在尝试在 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>
然后我使用 maps.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
您能帮我解决一下吗?任何形式的帮助将不胜感激。谢谢!
最佳答案
您说您使用
addDomListener
添加事件监听器,但您的代码显示使用addListener
。您识别关闭按钮的方式不正确。简单地看看你的 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();
});
});
关于javascript - 将谷歌地图事件监听器添加到 InfoWindows 中的自定义关闭按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36887609/