LocalContextMapView
인스턴스 및 내부 지도 모두에서 이벤트를 처리할 수 있습니다. LocalContextMapView
는 사용자가 장소 세부정보 뷰를 열어 장소를 선택할 때와 사용자가 장소 세부정보 뷰를 닫을 때 실행되는 두 가지 이벤트만 지원합니다. 이러한 이벤트를 사용하면 어떤 UI 요소든지 업데이트할 수 있습니다.
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
는 또한 Esc 키를 누를 때 장소 세부정보 뷰 또는 사진 라이트박스를 닫습니다. 이 동작을 변경하려면 캡처 단계의 키 누름 이벤트 및 Esc 키에 대한 리스너를 창 객체에 추가하여 기본 동작을 가로채는 것이 좋습니다.
// Change the escape key behavior.
window.addEventListener('keydown', event => {
if (event.key !== 'Escape') return;
event.stopPropagation();
// Handle the event.
// ...
}, /* useCapture= */ true);
또는 코드가 실행되기 전에 LocalContextMapView
가 키보드 이벤트를 처리할 수 있도록 버블 단계의 창에서 키 누름 리스너를 등록하세요.
// 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);