Skip to content

Markers: Conflicting console warnings for AdvancedMarkerElement click event registration #1152

@JoeEarly

Description

@JoeEarly

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:
<gmp-advanced-marker>: 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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    triage meI really want to be triaged.type: bugError or flaw in code with unintended results or allowing sub-optimal usage patterns.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions