2012-03-22 5 views
3

Есть такие прослушиватели событий, как mouseover, mouseout и нажмите, чтобы использовать их на Карте Google, но есть ли событие, которое реагирует, когда пользователь панорамирует или масштабирует карту?Панорама событий для Карт Google?

EDIT:

Я использовал «center_changed», но это не сработало так, как я надеялся! Если я перемещаю мышь над картой, а затем панорамирую карту, событие активируется, но событие активируется все время, даже если я не использую панорамирование, просто переместите курсор мыши на карту. Курсор мыши - это кулак, а не рука, все время !? Что не так?

+2

Возможно, событие 'idle' может решить вашу проблему. Проверьте здесь: https://developers.google.com/maps/documentation/javascript/reference#Map – Engineer

+0

2 и несколько лет спустя .. :-) Я использовал событие dragend, чтобы сделать что-то подобное. – Ads

ответ

1

Вы можете использовать события mousedown и mouseup, чтобы отслеживать, используется ли мышь для панорамирования карты. Если мышь не спустилась, то событие center_changed происходит от пользователя, нажимающего кнопку панорамирования:

//only reload on center_changed if the mouse is not down. This is equivalent to panning 
this.addListener("center_changed", function() { 
    if (!this.mouseDown) { 
     //user has clicked the pan button 
    }    
}); 

this.addListener("mouseup", function() { 
    this.mouseDown = false; 
}); 

this.addListener("mousedown", function() { 
    this.mouseDown = true; 
}); 
+0

Я не думаю, что это будет работать на мобильных устройствах –

Смежные вопросы