Прыгающий маркер - PullRequest
       22

Прыгающий маркер

1 голос
/ 23 ноября 2011

Интересно, сможет ли кто-нибудь мне помочь, пожалуйста.

Я использую следующую страницу, здесь , чтобы позволить пользователю просматривать маркеры по их выбранным критериям с результатами, перечисленными на боковой панели слева. То, что я пытаюсь сделать, это сделать маркер, выбранный через боковую панель или на карте, для отказов, при этом маркер перестает отскакивать, когда выбран другой.

Я могу заставить маркер отскочить как от боковой панели, так и от маркера на карте, но я не могу найти способ, чтобы маркер отскакивал, когда был выбран другой маркер. Я просмотрел темы на этом сайте и другие учебные пособия, но не могу найти ничего, что подсказывало бы мне, как перенести «подпрыгивающую» функциональность с одного маркера на другой.

Мне просто интересно, может ли кто-нибудь кто-то взглянуть на это, пожалуйста, и дайте мне знать, где я ошибся.

Большое спасибо и всего наилучшего

1 Ответ

2 голосов
/ 24 ноября 2011

Чтобы остановить отскок маркера, все, что вам нужно сделать, это позвонить marker.setAnimation(null).

Пример решения для ситуаций, когда вы хотите, чтобы максимум один отскок маркера и повторные нажатия на один и тот же маркер былипереключение подпрыгивания:

Создайте некоторую глобальную переменную, в которой вы помните текущий перенаправляющий маркер:

var bouncingMarker = null;

Создайте прослушиватель щелчков, который проверяет, отскакивает ли маркер, и переключает все необходимые анимации.

var clickListener = function() {
    if(bouncingMarker)
        bouncingMarker.setAnimation(null);
    if(bouncingMarker != this) {
        this.setAnimation(google.maps.Animation.BOUNCE);
        bouncingMarker = this;
    } else
        bouncingMarker = null;
}

Добавьте слушателя ко всем маркерам, поведение которых вы хотите:

google.maps.event.addListener(marker, 'click', clickListener);
...