为 Google 地图信息框创建自定义关闭按钮

Creating a custom close button for a Google Maps InfoBox

本文关键字:创建 自定义 关闭按钮 信息 Google 地图      更新时间:2023-09-26

我想为我的InfoBox窗口创建一个自定义关闭按钮,而不使用内置功能(我有一个不需要关闭按钮的信息框,这就是为什么我需要这个解决方法)。

通常我会做这样的事情来关闭标记:

google.maps.event.addListener(map, 'click', function(){
    aMarker.close(map, marker);
}); 

但是对信息框中的元素做类似的事情是行不通的,如下所示:

var closeInfoBox = document.getElementById("close-button");
google.maps.event.addListener(closeInfoBox, 'click', function(){
    aMarker.close(map, marker);
});

有没有办法使用信息框本身中的元素关闭信息框?

编辑:似乎根本无法从信息框中调用事件处理程序。有没有办法做到这一点?

尝试 addDomListener 而不是 addListener。前任:

 var closeInfoBox = document.getElementById("close-button");
 google.maps.event.addDomListener(closeInfoBox, 'click', function(){
     aMarker.close(map, marker);
 });

好的,这是一个很老的问题,但由于它在搜索引擎中很受欢迎,我会尝试回答。

如果要隐藏信息框标准关闭按钮,只需添加以下样式表:

.infoBox > img { display: none; }

然后创建一些侦听器来标识您当前的信息框,如@ManseUk提到的,并调用close方法。