From 11abd301a0767da0c5459d6f4c7e7b665a73f3f9 Mon Sep 17 00:00:00 2001 From: Masashi Katsumata Date: Sat, 7 Nov 2026 23:30:14 -0800 Subject: [PATCH] Clear registered strategy markers in clearOverlays() clearOverlays() cleared the provider's own six controllers only, so markers drawn through a StrategyMarkerController that an extension registered (MarkerClusterGroup, MarkerRenderingSupport) stayed on the map. It now goes through BaseMapViewController.clearOverlayControllers(), which clears the same six in the same order and then every other registered slotted controller. Needs the js-sdk-core release that adds clearOverlayControllers() (fix/clear-strategy); with the published ^0.3.x core this does not compile. --- src/CesiumMapViewController.ts | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/CesiumMapViewController.ts b/src/CesiumMapViewController.ts index 53571aa..c8d84b8 100644 --- a/src/CesiumMapViewController.ts +++ b/src/CesiumMapViewController.ts @@ -385,7 +385,14 @@ export class CesiumMapViewController extends BaseMapViewController implements Ma setMarkerAnimationOverlayHost(host: MarkerAnimationOverlayHost | null): void { this.markerController.setMarkerAnimationOverlayHost(host); } async clearOverlays(): Promise { - await Promise.all([this.markerController.clear(), this.circleController.clear(), this.polylineController.clear(), this.polygonController.clear(), this.groundImageController.clear(), this.rasterLayerController.clear()]); + await this.clearOverlayControllers([ + this.markerController, + this.circleController, + this.polylineController, + this.polygonController, + this.groundImageController, + this.rasterLayerController, + ]); } destroy(): void { if (this.destroyed) return;