我正在尝试将一堆标记添加到地图中,并为每个标记类别显示/隐藏按钮。从存储的db数据中添加标记会将它们放在地图上并使它们可单击,但它们不会响应setMap(null),除非该调用是通过google.event.addListener(marker,...)。从标准的js按钮onclick事件或通过google.event.addDomListener(marker,...)调用它不起作用。
也许有帮助的是,当我调用marker.setAnimation(BOUNCE)时,标记开始弹跳,但看起来它下面有一个重复的标记。同样,如果我拖动标记,就好像在它下面创建了一个不可移动的副本。
思考?这太令人沮丧了!
答案 0 :(得分:1)
就像this取自here一样?您是否试图避免使用Google地图api' google.maps.event.addDomListener
?为什么?您也可以使用它来聆听按钮的点击事件。就像在:
var YourButton = document.getElementById('myButton');
function HideMarkers() {
// Hide us
}
google.maps.event.addDomListener(YourButton, 'click', HideMarkers);
为您量身定制from。对于第二部分,看起来像双标记我想我们需要一些代码..
答案 1 :(得分:0)
原来这是纯粹的用户错误。我正在使用firebase来存储没有服务器后端的地图数据,并且正在添加重复的标记。这解释了"无法隐藏"以及拖动或动画时重复标记的外观。
它在标记上的点击事件中工作的原因是两个重复的标记都在接收点击事件,因此两者都被隐藏了。
在google事件处理程序中使用时,setMap似乎非常可靠。