Как повторно перетащить маркер на карту Google? - PullRequest
5 голосов
/ 12 июля 2011

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

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. Но когда я скрываю их и показываю снова, анимация не запускается, а маркеры просто отображаются.

Может кто-нибудь сказать мне, как повторно сбросить маркеры? Без создания новых экземпляров?

EDIT:

Я уже создал код для повторного создания того же маркера, и он работает, но это совсем не элегантное решение!

И Документы Google для маркеров не решают проблему.

1 Ответ

2 голосов
/ 12 июля 2011

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

Здесь ссылка: Маркер анимации

...