diff --git a/src/dev-app/google-map/google-map-demo.html b/src/dev-app/google-map/google-map-demo.html
index 9d4b75dd5a20..4b3077487f17 100644
--- a/src/dev-app/google-map/google-map-demo.html
+++ b/src/dev-app/google-map/google-map-demo.html
@@ -14,17 +14,22 @@
+ (mapClick)="infoWindow.open(firstMarker)"
+ (mapRightclick)="handleMarkerRightclick($event)"
+ >
@for (markerPosition of markerPositions; track markerPosition) {
+ (mapClick)="infoWindow.open(marker)"
+ (mapRightclick)="handleMarkerRightclick($event)"
+ >
}
@if (hasCustomContentMarker) {
{
+ // Only handle right mouse button clicks (button 2)
+ if (event.button === 2) {
+ const mapMouseEvent = {
+ domEvent: event,
+ latLng: null,
+ stop: () => {
+ event.stopPropagation();
+ event.preventDefault();
+ },
+ } as google.maps.MapMouseEvent;
+
+ handler(mapMouseEvent);
+ }
+ };
+
+ this.element.addEventListener('mousedown', listener);
+
+ return {
+ remove: () => {
+ this.element.removeEventListener('mousedown', listener);
+ },
+ };
+ } else {
+ // Use original method for other events
+ return originalAddListener.call(this, eventName, handler);
+ }
+ };
+
+ // Mark prototype as enhanced to avoid multiple enhancements
+ markerProto._rightClickEnhanced = true;
+ }
+ }
+
ngOnChanges(changes: SimpleChanges) {
const {advancedMarker, _content, _position, _title, _draggable, _zIndex} = this;
if (advancedMarker) {