Как перебросить маркер на карту гугл?

У меня есть две функции:

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 для маркеров не решает проблему.


person Karol    schedule 12.07.2011    source источник


Ответы (1)


Добавьте следующий код прямо под obj.marker.setMap(map); : obj.marker.setAnimation(google.maps.Animation.DROP);

Вот ссылка: Маркерные анимации

person Yuriy Rozhovetskiy    schedule 12.07.2011
comment
Это именно то, что я хотел - это работает как шарм. Единственное изменение, которое я сделал, это запуск setAnimation сразу после obj.marker.setMap(null); Спасибо! - person Karol; 13.07.2011