From ae66e5af596f9b94d86c24fd3257f0eda87dacee Mon Sep 17 00:00:00 2001 From: Austin Payne Date: Sat, 3 Feb 2024 20:58:23 -0700 Subject: [PATCH] fix: map tiles being downloaded remotely twice The url returned by MKTileOverlay.url(forTilePath:) is subsequently used by MKTileOverlay.loadTile(at:result:) for download. In the case of a tile that was just cached by OfflineTileManager.persistLocally(path:) we now return the local file URL to avoid downloading the remote image twice. --- Meshtastic/Helpers/Map/OfflineTileManager.swift | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Meshtastic/Helpers/Map/OfflineTileManager.swift b/Meshtastic/Helpers/Map/OfflineTileManager.swift index 235ef0b7..ebf235ca 100644 --- a/Meshtastic/Helpers/Map/OfflineTileManager.swift +++ b/Meshtastic/Helpers/Map/OfflineTileManager.swift @@ -148,8 +148,9 @@ class OfflineTileManager: ObservableObject { try data.write(to: filename) } catch { print("💀 Save Tile Error = \(error)") + return url } - return url + return filename } private func filterTilesAlreadyExisting(paths: [MKTileOverlayPath]) -> [MKTileOverlayPath] { paths.filter {