You can handle events on both the LocalContextMapView
instance, as well as on
the internal map. The LocalContextMapView
supports just two events, which
fire when a user selects a place (opening the place details view), and when the
user closes the place details view. These events enable you to update any UI
elements.
placedetailsviewshowstart
is fired when the user selects a place, before the place details view is displayed.placedetailsviewhidestart
is fired when the user closes the Place Details View, before the place details view is hidden.
The following example shows setting both supported listeners on a
LocalContextMapView
instance (you can do this in your initMap()
function):
// 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!");
});
You can also handle user interface events on the map that was created from the
LocalContextMapView
. The following example shows an event handler that is fired
whenever the map detects a mouseover event:
// Set a mouseover event handler on the inner map.
localContextMapView.map.addListener('mouseover', () => {
console.log("The mouse just entered the map!");
});
LocalContextMapView
also closes the place details view or photo lightbox when the
escape key is pressed. If you want to change this behavior, we recommend that
you add a listener for the keydown event and the escape key in the capturing
phase to the window object to intercept the default behavior:
// Change the escape key behavior.
window.addEventListener('keydown', event => {
if (event.key !== 'Escape') return;
event.stopPropagation();
// Handle the event.
// ...
}, /* useCapture= */ true);
Alternatively, to allow LocalContextMapView
to handle keyboard events before
your code, register a keydown listener on the window in the bubble phase:
// 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);
Learn more
- See events in action! The Local Context Library samples demonstrate common uses of the Local Context Library, including implementation details.
- Read more about Events in the Maps JavaScript API.