mirror of
https://github.com/ClemensFischer/XAML-Map-Control.git
synced 2025-12-06 07:12:04 +01:00
Version 4.12.2 Added TileQueue.
This commit is contained in:
parent
3ca73814f1
commit
4531e620ca
|
|
@ -21,7 +21,7 @@ namespace MapControl
|
|||
{
|
||||
public interface ITileImageLoader
|
||||
{
|
||||
void BeginLoadTiles(IEnumerable<Tile> tiles, TileSource tileSource, string sourceName);
|
||||
void LoadTilesAsync(IEnumerable<Tile> tiles, TileSource tileSource, string sourceName);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
|
@ -391,7 +391,7 @@ namespace MapControl
|
|||
Children.Add(tile.Image);
|
||||
}
|
||||
|
||||
TileImageLoader.BeginLoadTiles(Tiles, TileSource, SourceName);
|
||||
TileImageLoader.LoadTilesAsync(Tiles, TileSource, SourceName);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
/// </summary>
|
||||
public void BeginLoadTiles(IEnumerable<Tile> tiles, TileSource tileSource, string sourceName)
|
||||
public void LoadTilesAsync(IEnumerable<Tile> 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<Tile, Task> loadFunc)
|
||||
private async Task LoadTilesFromQueueAsync(Func<Tile, Task> 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);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue