【问题标题】:Hide marker in google map at zoom level 3在缩放级别 3 隐藏谷歌地图中的标记
【发布时间】:2012-05-04 09:36:51
【问题描述】:

如何在缩放级别 3 中隐藏谷歌地图中的标记,并且在放大时(最高 16 级)我必须再次显示标记。我正在使用 Google Maps JavaScript API v3。

注意:地图中只有一个标记。

谁能帮我完成这项工作?

【问题讨论】:

    标签: javascript map


    【解决方案1】:

    您必须向地图添加zoom_changed 事件,并检查您的地图的缩放级别并采取相应措施。另请参阅 API 参考:Map EventsOverlays

    部分代码(你可能想在这里和那里更新/添加一些东西):

    var marker = new google.maps.Marker({
        position: location,
        map: map
    });
    
    google.maps.event.addListener(map, 'zoom_changed', function() {
        var zoom = map.getZoom();
    
        // Update May 2017
        //   You can now use setVisible() on a marker instead of
        //   setting the map to a null value.
        if (zoom <= 3) {
            marker.setMap(null);
        } else {
            marker.setMap(map);
        }
    });
    

    【讨论】:

    • 感谢代码,我会检查并告诉你结果。
    • 注意,代码可能不是 100% 工作的,但这是你必须做的主要想法:)。 (我只是根据 API Reference 编写的代码(以及我自己使用 Google Maps API 的经验),我没有运行它。)
    • 既然可以使用 setVisible 标记方法,为什么还要设置地图?
    • @MrJedi :可能是因为它在当时(4 年前)并不存在。我不知道了,那是很久以前的事了。
    • @Styxxy 我没有注意到答案的年龄:) 请考虑一下,更改您的答案。有趣的事实:我的队友刚刚复制了你的代码,我想知道他为什么将 map 设置为 null :D 现在我知道了;p
    猜你喜欢
    • 2017-10-14
    • 2012-09-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多