Обработка событий Javascript для Google Maps - PullRequest
0 голосов
/ 11 февраля 2010

Я использую карты Google + JavaScript + PHP в моем приложении. Я хочу знать две вещи:
В гугл картах

  1. делает событие moveend ВСЕГДА запускается ПОСЛЕ увеличения / уменьшения (в зависимости от того, два) происходит событие.

  2. Когда я нажимаю значок увеличения на карте Google или прокрутите колесико мыши для увеличения, событие ZOOMEND больше уволено чем один раз. Если я увеличу один шаг используя значок + на карте, Zoomend событие происходит дважды или иногда Больше. любая возможная лазейка.

    И поэтому хочу узнать , как остановить дальнейшее распространение событий в javascript . (помните, мне не нужно использовать clearListeners, так как он навсегда игнорирует обработчик событий, что нежелательно).

Спасибо.

Ответы [ 2 ]

1 голос
/ 11 февраля 2010

Я настроил слушателей на «moveend», «zoomend» и «dragend», чтобы попробовать его.

GEvent.addListener(map, "moveend", function() { console.log('moveend'); });
GEvent.addListener(map, "zoomend", function() { console.log('zoomend'); });
GEvent.addListener(map, "dragend", function() { console.log('dragend'); });

Похоже, что moveend всегда срабатывает после «zoomend» или «dragend».

Однако ни одно событие не происходило более одного раза за раз. Может быть, вы случайно настроили двух одновременных слушателей. Вам не нужно использовать stopPropagation или cancelBubble.

1 голос
/ 11 февраля 2010

вы можете попробовать просто вернуть false или null из события. Если это не сработает, попробуйте использовать "event.cancelBubble = true" или "event.stopPropagation"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...