События можно обрабатывать как в экземпляре LocalContextMapView
, так и на внутренней карте. LocalContextMapView
поддерживает только два типа событий, которые активируются при выборе места (когда пользователь открывает окно с информацией о месте или закрывает его). С помощью таких событий можно обновить любой элемент пользовательского интерфейса.
placedetailsviewshowstart
срабатывает, когда пользователь выбирает место, перед тем как появляется информация о нем;placedetailsviewhidestart
срабатывает, когда пользователь закрывает окно с информацией о месте, перед тем как это окно исчезает.
В примере ниже показана настройка обоих поддерживаемых типов прослушивателей в экземпляре LocalContextMapView
(вы можете сделать это в своей функции initMap()
):
// Set the LocalContextMapView event handlers.
localContextMapView.addListener('placedetailsviewshowstart', () => {
console.log("The 'placedetailsviewshowstart' event just fired!");
});
localContextMapView.addListener('placedetailsviewhidestart', () => {
console.log("The 'placedetailsviewhidestart' event just fired!");
});
Также вы можете обрабатывать события на карте, созданной из LocalContextMapView
. В примере ниже показан обработчик событий, который активируется, когда карта регистрирует наведение курсора мыши:
// Set a mouseover event handler on the inner map.
localContextMapView.map.addListener('mouseover', () => {
console.log("The mouse just entered the map!");
});
LocalContextMapView
также закрывает окно с информацией о месте или фотографиями при нажати кнопки Escape. Если вы хотите изменить это поведение, добавьте в объект окна прослушиватель для события keydown и клавиши Escape на этапе ввода, блокирующий реакцию интерфейса по умолчанию:
// Change the escape key behavior.
window.addEventListener('keydown', event => {
if (event.key !== 'Escape') return;
event.stopPropagation();
// Handle the event.
// ...
}, /* useCapture= */ true);
Другой вариант – разрешить LocalContextMapView
обрабатывать события keyboard раньше, чем ваш код, добавив в окно прослушиватель keydown на фазе всплытия:
// Won't be fired if LocalContextMapView handled the escape key to close
// the place details view or photo lightbox:
window.addEventListener('keydown', event => {
if (event.key !== 'Escape') return;
// Handle the event.
// ...
}, /* useCapture= */ false);
Дополнительная информация
- Посмотрите, как события работают на карте. Ознакомьтесь с примерами стандартного использования библиотеки локального контекста и особенностями их реализации.
- Узнайте больше о событиях из документации по Maps JavaScript API.