From e87d8340e0023a1aa3e07d45e31c48cba6230c24 Mon Sep 17 00:00:00 2001 From: Application-drop-up Date: Mon, 5 Oct 2026 09:39:03 +0900 Subject: [PATCH] fix(map-drawing-terradraw): only initialize drawing session once on projection_changed projection_changed can fire again after the map's rendering/map type changes (e.g. clicking the built-in map type control, which this sample enables). The setup block ran on every firing, silently replacing the live TerraDraw instance (wiping in-progress drawings) and adding a duplicate global keydown listener each time. Use addListenerOnce so the one-time setup can only ever run once. --- samples/map-drawing-terradraw/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/samples/map-drawing-terradraw/index.ts b/samples/map-drawing-terradraw/index.ts index 4b4e3ef0a..5544f492a 100644 --- a/samples/map-drawing-terradraw/index.ts +++ b/samples/map-drawing-terradraw/index.ts @@ -169,7 +169,7 @@ async function init() { } }); - map.addListener('projection_changed', () => { + google.maps.event.addListenerOnce(map, 'projection_changed', () => { // [START maps_drawing_terradraw_modes] draw = new TerraDraw({