Google maps 如何在谷歌地图中正确隐藏标记?

Google maps 如何在谷歌地图中正确隐藏标记?,google-maps,google-maps-api-3,Google Maps,Google Maps Api 3,我正在尝试将一组标记添加到地图中,每个类别的标记都有显示/隐藏按钮。从存储的db数据中添加一个标记会将它们放在地图上并使它们可以单击,但它们不会响应setMap(null),除非该调用是通过google.event.addListener(marker,…)进行的。从标准的js按钮onclick事件或通过google.event.addDomListener(marker,…)调用它不起作用 另外值得注意的是,当我调用marker.setAnimation(BOUNCE)时,标记开始反弹,但它下

我正在尝试将一组标记添加到地图中,每个类别的标记都有显示/隐藏按钮。从存储的db数据中添加一个标记会将它们放在地图上并使它们可以单击,但它们不会响应setMap(null),除非该调用是通过google.event.addListener(marker,…)进行的。从标准的js按钮onclick事件或通过google.event.addDomListener(marker,…)调用它不起作用

另外值得注意的是,当我调用marker.setAnimation(BOUNCE)时,标记开始反弹,但它下面似乎有一个重复的标记。类似地,如果我拖动标记,就好像在它的正下方创建了一个不可移动的副本

想法?这太令人沮丧了

就像是从什么地方拿走的?您是否试图避免google maps api的
google.maps.event.addDomListener
?为什么?你也可以用它来听你的按钮的点击事件。正如:

var YourButton = document.getElementById('myButton');

function HideMarkers() {
  // Hide us
}

google.maps.event.addDomListener(YourButton, 'click', HideMarkers);

为你定制。对于第二部分,看起来像是双重标记,我想我们需要一些代码。

这完全是用户错误。我正在使用firebase存储地图数据,没有服务器后端,并且添加了重复标记。这解释了“无法隐藏”以及拖动或设置动画时重复标记的外观

它从标记上的单击事件开始工作的原因是两个重复标记都接收到单击事件,因此都被隐藏


setMap在google事件处理程序内外使用时似乎非常可靠。

感谢您的回复。我不是想避免addDomListener,我只是想说使用它似乎对我的问题没有帮助。该函数似乎是避免在页面中包含查询的好方法。干杯