diff --git a/MapControl/Shared/ImageFileCache.cs b/MapControl/Shared/ImageFileCache.cs index cb55fdd8..8e143dde 100644 --- a/MapControl/Shared/ImageFileCache.cs +++ b/MapControl/Shared/ImageFileCache.cs @@ -29,6 +29,7 @@ namespace MapControl.Caching } rootDirectory = directory; + Debug.WriteLine("Created ImageFileCache in " + rootDirectory); } @@ -133,6 +134,7 @@ namespace MapControl.Caching if (expiration.HasValue) { Array.Resize(ref buffer, buffer.Length - 16); + return expiration.Value; } @@ -151,5 +153,17 @@ namespace MapControl.Caching return expiration; } + + private static void WriteExpiration(Stream stream, DateTime expiration) + { + stream.Write(Encoding.ASCII.GetBytes(expiresTag), 0, 8); + stream.Write(BitConverter.GetBytes(expiration.Ticks), 0, 8); + } + + private static async Task WriteExpirationAsync(Stream stream, DateTime expiration) + { + await stream.WriteAsync(Encoding.ASCII.GetBytes(expiresTag), 0, 8); + await stream.WriteAsync(BitConverter.GetBytes(expiration.Ticks), 0, 8); + } } } diff --git a/MapControl/UWP/ImageFileCache.UWP.cs b/MapControl/UWP/ImageFileCache.UWP.cs index fd4f0cdc..b34ddc7c 100644 --- a/MapControl/UWP/ImageFileCache.UWP.cs +++ b/MapControl/UWP/ImageFileCache.UWP.cs @@ -6,7 +6,6 @@ using System; using System.Diagnostics; using System.IO; using System.Runtime.InteropServices.WindowsRuntime; -using System.Text; using System.Threading.Tasks; using Windows.Storage.Streams; @@ -56,8 +55,7 @@ namespace MapControl.Caching using (var stream = File.Create(path)) { await stream.AsOutputStream().WriteAsync(buffer); - await stream.WriteAsync(Encoding.ASCII.GetBytes(expiresTag), 0, 8); - await stream.WriteAsync(BitConverter.GetBytes(expiration.Ticks), 0, 8); + await WriteExpirationAsync(stream, expiration); } //Debug.WriteLine("ImageFileCache: Wrote {0}, Expires {1}", path, expiration.ToLocalTime()); diff --git a/MapControl/UWP/TileImageLoader.UWP.cs b/MapControl/UWP/TileImageLoader.UWP.cs index 771d7eef..1b3f9e8c 100644 --- a/MapControl/UWP/TileImageLoader.UWP.cs +++ b/MapControl/UWP/TileImageLoader.UWP.cs @@ -9,7 +9,7 @@ using System.Threading.Tasks; using Windows.UI.Core; using Windows.UI.Xaml.Media; #else -using Microsoft.System; +using Microsoft.UI.Dispatching; using Microsoft.UI.Xaml.Media; #endif diff --git a/MapControl/WPF/ImageFileCache.WPF.cs b/MapControl/WPF/ImageFileCache.WPF.cs index f41694bb..0e06aca3 100644 --- a/MapControl/WPF/ImageFileCache.WPF.cs +++ b/MapControl/WPF/ImageFileCache.WPF.cs @@ -10,7 +10,6 @@ using System.Linq; using System.Runtime.Caching; using System.Security.AccessControl; using System.Security.Principal; -using System.Text; namespace MapControl.Caching { @@ -172,8 +171,7 @@ namespace MapControl.Caching using (var stream = File.Create(path)) { stream.Write(buffer, 0, buffer.Length); - stream.Write(Encoding.ASCII.GetBytes(expiresTag), 0, 8); - stream.Write(BitConverter.GetBytes(imageCacheItem.Expiration.Ticks), 0, 8); + WriteExpiration(stream, imageCacheItem.Expiration); } var fileInfo = new FileInfo(path); diff --git a/MapControl/WinUI/MapControl.WinUI.csproj b/MapControl/WinUI/MapControl.WinUI.csproj index b71d4fdc..5b253017 100644 --- a/MapControl/WinUI/MapControl.WinUI.csproj +++ b/MapControl/WinUI/MapControl.WinUI.csproj @@ -34,8 +34,8 @@ - - - + + + diff --git a/SampleApps/WpfApplication/MainWindow.xaml b/SampleApps/WpfApplication/MainWindow.xaml index 4b8d789b..adaad33d 100644 --- a/SampleApps/WpfApplication/MainWindow.xaml +++ b/SampleApps/WpfApplication/MainWindow.xaml @@ -4,7 +4,7 @@ xmlns:map="clr-namespace:MapControl;assembly=MapControl.WPF" xmlns:vm="clr-namespace:ViewModel" xmlns:local="clr-namespace:WpfApplication" - Title="XAML MapControl - WPF Test Application" Height="600" Width="900" + Title="XAML MapControl - WPF Sample Application" Height="600" Width="900" Stylus.IsPressAndHoldEnabled="False"> diff --git a/SampleApps/WpfApplication/MainWindow.xaml.cs b/SampleApps/WpfApplication/MainWindow.xaml.cs index 1121e45b..bf7e5748 100644 --- a/SampleApps/WpfApplication/MainWindow.xaml.cs +++ b/SampleApps/WpfApplication/MainWindow.xaml.cs @@ -24,7 +24,10 @@ namespace WpfApplication //TileImageLoader.Cache = new SQLiteCache(TileImageLoader.DefaultCacheFolder); //TileImageLoader.Cache = null; - BingMapsTileLayer.ApiKey = File.ReadAllText(@"..\..\..\BingMapsApiKey.txt")?.Trim(); + var apiKeyPath = Path.Combine( + Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData), "MapControl", "BingMapsApiKey.txt"); + + BingMapsTileLayer.ApiKey = File.ReadAllText(apiKeyPath)?.Trim(); } catch (Exception ex) {