googlemaps / googlemaps/js-markerclusterer

Markers: Conflicting console warnings for AdvancedMarkerElement click event registration

Open
#1,152 3 comments 0 reactions 0 assignees View on GitHub
triage me type: bug
Dominant language
TypeScript
Stars
293
Forks
104
Avg merge
3m
Merged PRs (30d)
18

Description

**Environment details**
**API**: Maps JavaScript API / Markers
**OS**: macOS Darwin 25.2.0
**Library version**: Maps JS API v=weekly (loaded Feb 2025), @googlemaps/markerclusterer@2.6.2

**Steps to reproduce**

1. Create a map with mapId and AdvancedMarkerElement
2. Register a click handler using marker.addListener('click', ...) (as recommended by Google's own a11y warning)
3. Observe console warning: : Please use addEventListener('gmp-click', ...) instead of addEventListener('click', ...)
4. Switch to marker.addEventListener('gmp-click', ...) to fix the above warning
5. Observe new console warning: To make AdvancedMarkerElement clickable and provide better accessible experiences, use addListener() to register a "click" event
6. Additionally, addEventListener('gmp-click') does not make markers clickable - clicks do not fire

#### Code example

```
const { AdvancedMarkerElement } = await google.maps.importLibrary("marker")

const marker = new AdvancedMarkerElement({
position: { lat: 54.0, lng: -4.5 },
map,
title: 'Test marker',
content: myElement
})

// Option A: warns "Please use addEventListener('gmp-click', ...)"
marker.addListener('click', () => { console.log('clicked') })

// Option B: warns "use addListener() to register a click event" + clicks don't fire
marker.addEventListener('gmp-click', () => { console.log('clicked') })
```

#### Stack trace
```
// Warning from Option A:
: Please use addEventListener('gmp-click', ...) instead of addEventListener('click', ...).
_.xn @ main.js:194
addListener @ marker.js:99

// Warning from Option B:
To make AdvancedMarkerElement clickable and provide better accessible experiences,
use addListener() to register a "click" event on the AdvancedMarkerElement instance.
```
**Summary**: There is no way to register a click handler on AdvancedMarkerElement without triggering a console warning. addListener('click') is the only option that actually works (fires events, sets up a11y) but it produces a deprecation-style warning suggesting gmp-click. Using addEventListener('gmp-click') silences that warning but produces the opposite warning and markers become non-clickable.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.