mirror of
https://github.com/ClemensFischer/XAML-Map-Control.git
synced 2026-01-01 22:30:14 +01:00
Update TileImageLoader
This commit is contained in:
parent
12e5d75ba9
commit
6d359a5a91
|
|
@ -149,7 +149,7 @@ namespace MapControl
|
|||
{
|
||||
if (string.IsNullOrEmpty(cacheName))
|
||||
{
|
||||
return LoadTile(tile, tileSource);
|
||||
return LoadTile(tile, () => tileSource.LoadImageAsync(tile.XIndex, tile.Y, tile.ZoomLevel));
|
||||
}
|
||||
|
||||
var uri = tileSource.GetUri(tile.XIndex, tile.Y, tile.ZoomLevel);
|
||||
|
|
|
|||
|
|
@ -53,16 +53,11 @@ namespace MapControl
|
|||
|
||||
if (buffer != null && buffer.Length > 0)
|
||||
{
|
||||
await SetTileImage(tile, () => ImageLoader.LoadImageAsync(buffer)).ConfigureAwait(false);
|
||||
await LoadTile(tile, () => ImageLoader.LoadImageAsync(buffer)).ConfigureAwait(false);
|
||||
}
|
||||
}
|
||||
|
||||
private static Task LoadTile(Tile tile, TileSource tileSource)
|
||||
{
|
||||
return SetTileImage(tile, () => tileSource.LoadImageAsync(tile.XIndex, tile.Y, tile.ZoomLevel));
|
||||
}
|
||||
|
||||
private static async Task SetTileImage(Tile tile, Func<Task<ImageSource>> loadImageFunc)
|
||||
private static async Task LoadTile(Tile tile, Func<Task<ImageSource>> loadImageFunc)
|
||||
{
|
||||
var tcs = new TaskCompletionSource<object>();
|
||||
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ using System;
|
|||
using System.IO;
|
||||
using System.Runtime.Caching;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Media;
|
||||
|
||||
namespace MapControl
|
||||
{
|
||||
|
|
@ -45,15 +46,13 @@ namespace MapControl
|
|||
|
||||
if (buffer != null && buffer.Length > 0)
|
||||
{
|
||||
var image = await ImageLoader.LoadImageAsync(buffer).ConfigureAwait(false);
|
||||
|
||||
await tile.Image.Dispatcher.InvokeAsync(() => tile.SetImageSource(image));
|
||||
await LoadTile(tile, () => ImageLoader.LoadImageAsync(buffer));
|
||||
}
|
||||
}
|
||||
|
||||
private static async Task LoadTile(Tile tile, TileSource tileSource)
|
||||
private static async Task LoadTile(Tile tile, Func<Task<ImageSource>> loadImageFunc)
|
||||
{
|
||||
var image = await tileSource.LoadImageAsync(tile.XIndex, tile.Y, tile.ZoomLevel).ConfigureAwait(false);
|
||||
var image = await loadImageFunc().ConfigureAwait(false);
|
||||
|
||||
await tile.Image.Dispatcher.InvokeAsync(() => tile.SetImageSource(image));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -54,16 +54,11 @@ namespace MapControl
|
|||
|
||||
if (buffer != null && buffer.Length > 0)
|
||||
{
|
||||
await SetTileImage(tile, () => ImageLoader.LoadImageAsync(buffer)).ConfigureAwait(false);
|
||||
await LoadTile(tile, () => ImageLoader.LoadImageAsync(buffer)).ConfigureAwait(false);
|
||||
}
|
||||
}
|
||||
|
||||
private static Task LoadTile(Tile tile, TileSource tileSource)
|
||||
{
|
||||
return SetTileImage(tile, () => tileSource.LoadImageAsync(tile.XIndex, tile.Y, tile.ZoomLevel));
|
||||
}
|
||||
|
||||
private static Task SetTileImage(Tile tile, Func<Task<ImageSource>> loadImageFunc)
|
||||
private static Task LoadTile(Tile tile, Func<Task<ImageSource>> loadImageFunc)
|
||||
{
|
||||
var tcs = new TaskCompletionSource();
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue