From 4531e620ca0444dcafae0c2b2559d9bc17676d98 Mon Sep 17 00:00:00 2001 From: ClemensF Date: Tue, 11 Jun 2019 22:14:58 +0200 Subject: [PATCH] Version 4.12.2 Added TileQueue. --- MapControl/Shared/MapTileLayer.cs | 4 ++-- MapControl/Shared/TileImageLoader.cs | 10 +++++----- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/MapControl/Shared/MapTileLayer.cs b/MapControl/Shared/MapTileLayer.cs index 2c994856..574d8aa7 100644 --- a/MapControl/Shared/MapTileLayer.cs +++ b/MapControl/Shared/MapTileLayer.cs @@ -21,7 +21,7 @@ namespace MapControl { public interface ITileImageLoader { - void BeginLoadTiles(IEnumerable tiles, TileSource tileSource, string sourceName); + void LoadTilesAsync(IEnumerable tiles, TileSource tileSource, string sourceName); } /// @@ -391,7 +391,7 @@ namespace MapControl Children.Add(tile.Image); } - TileImageLoader.BeginLoadTiles(Tiles, TileSource, SourceName); + TileImageLoader.LoadTilesAsync(Tiles, TileSource, SourceName); } } } diff --git a/MapControl/Shared/TileImageLoader.cs b/MapControl/Shared/TileImageLoader.cs index 2bc29a2f..e26454d0 100644 --- a/MapControl/Shared/TileImageLoader.cs +++ b/MapControl/Shared/TileImageLoader.cs @@ -52,7 +52,7 @@ namespace MapControl /// If the UriFormat of the TileSource starts with "http" and the sourceName string is non-empty, /// tile images are cached in the TileImageLoader's Cache. /// - public void BeginLoadTiles(IEnumerable tiles, TileSource tileSource, string sourceName) + public void LoadTilesAsync(IEnumerable tiles, TileSource tileSource, string sourceName) { tileQueue.Clear(); @@ -82,13 +82,13 @@ namespace MapControl while (--newTasks >= 0) { - Task.Run(() => LoadTilesAsync(loadTileFunc)); + Task.Run(() => LoadTilesFromQueueAsync(loadTileFunc)); } } } } - private async Task LoadTilesAsync(Func loadFunc) + private async Task LoadTilesFromQueueAsync(Func loadTileFunc) { Tile tile; @@ -96,11 +96,11 @@ namespace MapControl { try { - await loadFunc(tile); + await loadTileFunc(tile); } catch (Exception ex) { - Debug.WriteLine("TileImageLoader: {0}: {1}", tile, ex.Message); + Debug.WriteLine("TileImageLoader: {0}/{1}/{2}: {3}", tile.ZoomLevel, tile.XIndex, tile.Y, ex.Message); } }