【问题标题】:How to properly hide markers in google maps?如何正确隐藏谷歌地图中的标记?
【发布时间】:2014-08-27 04:45:39
【问题描述】:

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

还需要注意的是,当我调用 marker.setAnimation(BOUNCE) 时,标记开始弹跳,但看起来下面有一个重复的标记。同样,如果我拖动标记,就好像在它的正下方创建了一个不可移动的副本。

想法?这太令人沮丧了!

【问题讨论】:

    标签: google-maps google-maps-api-3


    【解决方案1】:

    就像 this 取自 here 一样?您是否试图避免使用 google maps api 的google.maps.event.addDomListener?为什么?您也可以使用它来监听按钮的单击事件。就像在:

    var YourButton = document.getElementById('myButton');
    
    function HideMarkers() {
      // Hide us
    }
    
    google.maps.event.addDomListener(YourButton, 'click', HideMarkers);
    

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

    【讨论】:

    • 感谢您的回复。我并不是想避免 addDomListener,我只是说使用它似乎对我的问题没有帮助。该功能似乎是避免在页面中包含查询的好方法。干杯
    【解决方案2】:

    结果证明这纯粹是用户错误。我正在使用 firebase 在没有服务器后端的情况下存储地图数据,并且正在添加重复的标记。这解释了“无法隐藏”以及拖动或动画时出现重复标记的原因。

    它通过标记上的点击事件起作用的原因是两个重复的标记都在接收点击事件,因此两者都被隐藏了。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-01-31
      • 2018-11-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多