From a63de2205cc773a2d796cd200e838d47fbd6214f Mon Sep 17 00:00:00 2001 From: Masashi Katsumata Date: Wed, 4 Nov 2026 23:33:29 -0800 Subject: [PATCH] Redraw tiles when a tiled marker changes A tiled marker has no native marker, so the base update() only rewrote the manager and nothing reached the map: changing an icon or position in place left the drawn tiles as they were. Invalidate the tiles and rebuild the layer with a versioned URL, once per burst of updates. --- .../marker/MapKitMarkerController.swift | 37 ++++++++++++++++++- 1 file changed, 36 insertions(+), 1 deletion(-) diff --git a/Sources/MapConductorForMapKit/marker/MapKitMarkerController.swift b/Sources/MapConductorForMapKit/marker/MapKitMarkerController.swift index 0ac85b0..9995443 100644 --- a/Sources/MapConductorForMapKit/marker/MapKitMarkerController.swift +++ b/Sources/MapConductorForMapKit/marker/MapKitMarkerController.swift @@ -116,6 +116,9 @@ final class MapKitMarkerController: AbstractMarkerController? private var tileRouteId: String? private var tiledMarkerIds: Set = [] + /// タイル URL の版。マーカーが変わるたびに上げ、地図に描画済みのタイルを取り直させる。 + private var tileVersion: Int64 = 0 + private var tileRefreshScheduled = false private var tileOverlay: MKTileOverlay? private var lastServerBaseUrl: String = "" private let defaultMarkerIconForTiling: BitmapIcon = DefaultMarkerIcon().toBitmapIcon() @@ -148,6 +151,32 @@ final class MapKitMarkerController: AbstractMarkerController