Прослушивание событий клавиатуры на Google Map
В моем приложении есть Карты Google, и я использую карту для рисования на ней Полилинии. Я хочу прослушивать события клавиатуры на карте Google, чтобы, скажем, если я нажал клавишу Esc во время рисования полилинии, он должен прекратить рисование (он должен сбросить DrawingMode). Я попробовал это двумя способами. 1. Я добавил ключевые события в свой контейнер:
bindKeyEventsForMapButtons : function(btn){
var me = this;
btn.el.dom.onkeydown = function (e) {
if(btn.getId() == 'drawPerimeterGoogleMap'){
if(btn.pressed==true)
btn.toggle(false);
}else if(btn.getId() == 'removeAllPerimeter'){
btn.setPressed(false);
}
}
}
В этом случае событие срабатывает, когда я нажимаю на карту. Но не тогда, когда я рисую на карте.
Добавляя событие в саму карту
google.maps.event.addListener(me.map, 'keydown', function () { alert('in keydown'); });
Это никогда не будет уволено.
И я не хочу слушать ключевые события в окне или во всем документе, так как у меня есть другие компоненты в документе
Любая помощь? Спасибо