【问题标题】:How to re-drop marker on the google map?如何在谷歌地图上重新放置标记?
【发布时间】:2011-07-13 03:23:13
【问题描述】:

我有两个函数:

function showMarkers() {
    hotspotsIterator = 0;
    for(var i = 0; i < table.length; i++) {
        var obj = table[i];
        if(obj && obj.marker) {
            var obj = table[i];
            obj.marker.setMap(map);
        }
    }
}

function hideMarkers() {
    for(var i = 0; i < table.length; i++) {
        var obj = table[i];
        if(obj && obj.marker) {
            obj.marker.setMap(null);
        }
    }
}

首先是显示标记,其次是隐藏它们。当我第一次使用 showMarkers() 时,会执行 Animation.DROP。但是当我隐藏它们并再次显示时,动画没有运行,标记只是显示出来。

谁能告诉我如何重新放置标记?不创建新实例?

编辑:

我已经创建了代码来重新创建相同的标记并且它可以工作,但它根本不是优雅的解决方案!

而用于标记的 Google Docs 并不能解决问题。

【问题讨论】:

    标签: javascript google-maps google-maps-markers


    【解决方案1】:

    obj.marker.setMap(map); 正下方添加以下代码:obj.marker.setAnimation(google.maps.Animation.DROP);

    这里参考:Marker Animations

    【讨论】:

    • 这正是我想要的——它就像一个魅力。我所做的唯一更改是在 obj.marker.setMap(null); 之后运行 setAnimation谢谢!
    猜你喜欢
    • 2011-08-15
    • 2017-12-29
    • 1970-01-01
    • 1970-01-01
    • 2012-06-05
    • 2023-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多