подпрыгивающий маркер, не подпрыгивающий после масштабирования

эта проблема у меня была с картами Google, я сделал здесь.

marker = new google.maps.Marker({
        position: latlng, 
        map: map, 
        animation: google.maps.Animation.BOUNCE,
        title:"Hello World!"
    }),

если я перетащу карту туда, где я больше не вижу маркер, и увеличу масштаб (обычно 3 или 4 уровня), после того, как я уменьшу масштаб, где я смогу увидеть свой маркер, он больше не подпрыгивает, если я нажму на это, он снова подпрыгнет.

это проблема браузера, с чем я здесь сталкиваюсь?


person Developerium    schedule 01.06.2014    source источник
comment
Странный. Похоже, что событие click запускается, когда карта достаточно уменьшена. См. обновленную скрипту. Когда вы увеличиваете масштаб и нажимаете на маркер, два сообщения доставляются из обработчика событий в журнале консоли.   -  person Anto Jurković    schedule 01.06.2014
comment
вы видели маркер все еще сидит на месте!   -  person Developerium    schedule 01.06.2014
comment
да. Если кто-то не находит объяснения этому, об этом можно сообщить как о проблеме.   -  person Anto Jurković    schedule 01.06.2014


Ответы (1)


Я думаю, что это поведение анимации Google Marker по умолчанию. Поскольку вы покинули экстент карты, нет необходимости продолжать анимацию за кулисами.

Если вы действительно хотите, чтобы ваш маркер подпрыгивал всякий раз, когда вы его видите, вы можете добавить событие карты 'bounds_changed'. Каждый раз, когда вы масштабируете или перетаскиваете карту, она должна проверять, находится ли ваш маркер в пределах видимой области карты, и если да, то обновлять поведение отскока:

google.maps.event.addListener(map, 'bounds_changed', function(event) {

    if(map.getBounds().contains(marker.position)){

        marker.setAnimation(google.maps.Animation.BOUNCE);
    };
});
person AlexYes    schedule 01.06.2014