diff --git a/Caching/FileDbCache/Properties/AssemblyInfo.cs b/Caching/FileDbCache/Properties/AssemblyInfo.cs index 2c5680ae..1ccc79f5 100644 --- a/Caching/FileDbCache/Properties/AssemblyInfo.cs +++ b/Caching/FileDbCache/Properties/AssemblyInfo.cs @@ -8,8 +8,8 @@ using System.Runtime.InteropServices; [assembly: AssemblyCompany("Clemens Fischer")] [assembly: AssemblyCopyright("Copyright © Clemens Fischer 2012-2013")] [assembly: AssemblyTrademark("")] -[assembly: AssemblyVersion("1.3.7")] -[assembly: AssemblyFileVersion("1.3.7")] +[assembly: AssemblyVersion("1.3.8")] +[assembly: AssemblyFileVersion("1.3.8")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCulture("")] [assembly: ComVisible(false)] diff --git a/Caching/ImageFileCache/Properties/AssemblyInfo.cs b/Caching/ImageFileCache/Properties/AssemblyInfo.cs index ac1ea419..0374992d 100644 --- a/Caching/ImageFileCache/Properties/AssemblyInfo.cs +++ b/Caching/ImageFileCache/Properties/AssemblyInfo.cs @@ -8,8 +8,8 @@ using System.Runtime.InteropServices; [assembly: AssemblyCompany("Clemens Fischer")] [assembly: AssemblyCopyright("Copyright © Clemens Fischer 2012-2013")] [assembly: AssemblyTrademark("")] -[assembly: AssemblyVersion("1.3.7")] -[assembly: AssemblyFileVersion("1.3.7")] +[assembly: AssemblyVersion("1.3.8")] +[assembly: AssemblyFileVersion("1.3.8")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCulture("")] [assembly: ComVisible(false)] diff --git a/MapControl/Properties/AssemblyInfo.cs b/MapControl/Properties/AssemblyInfo.cs index d9692892..5a98f0f5 100644 --- a/MapControl/Properties/AssemblyInfo.cs +++ b/MapControl/Properties/AssemblyInfo.cs @@ -15,8 +15,8 @@ using System.Windows; [assembly: AssemblyCompany("Clemens Fischer")] [assembly: AssemblyCopyright("Copyright © Clemens Fischer 2012-2013")] [assembly: AssemblyTrademark("")] -[assembly: AssemblyVersion("1.3.7")] -[assembly: AssemblyFileVersion("1.3.7")] +[assembly: AssemblyVersion("1.3.8")] +[assembly: AssemblyFileVersion("1.3.8")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCulture("")] [assembly: ComVisible(false)] diff --git a/MapControl/TileImageLoader.WPF.cs b/MapControl/TileImageLoader.WPF.cs index 08d98d38..013d6a44 100644 --- a/MapControl/TileImageLoader.WPF.cs +++ b/MapControl/TileImageLoader.WPF.cs @@ -91,13 +91,14 @@ namespace MapControl { var newTiles = (List)newTilesList; var imageTileSource = tileLayer.TileSource as ImageTileSource; + var animateOpacity = tileLayer.AnimateTileOpacity; if (imageTileSource != null && !imageTileSource.CanLoadAsync) { foreach (var tile in newTiles) { tileLayer.Dispatcher.BeginInvoke( - (Action)((t, ts) => t.SetImageSource(ts.LoadImage(t.XIndex, t.Y, t.ZoomLevel), true)), + (Action)((t, ts) => t.SetImageSource(ts.LoadImage(t.XIndex, t.Y, t.ZoomLevel), animateOpacity)), DispatcherPriority.Background, tile, imageTileSource); } } @@ -118,7 +119,7 @@ namespace MapControl if (image != null) { tileLayer.Dispatcher.BeginInvoke( - (Action)((t, i) => t.SetImageSource(i, true)), + (Action)((t, i) => t.SetImageSource(i, animateOpacity)), DispatcherPriority.Background, tile, image); long creationTime = BitConverter.ToInt64(buffer, 0); @@ -147,14 +148,13 @@ namespace MapControl { Interlocked.Increment(ref downloadThreadCount); - ThreadPool.QueueUserWorkItem(LoadTiles, imageTileSource); + ThreadPool.QueueUserWorkItem(o => LoadTiles(imageTileSource, animateOpacity)); } } } - private void LoadTiles(object tileSource) + private void LoadTiles(ImageTileSource imageTileSource, bool animateOpacity) { - var imageTileSource = (ImageTileSource)tileSource; Tile tile; while (pendingTiles.TryDequeue(out tile)) @@ -194,7 +194,7 @@ namespace MapControl if (image != null) { tileLayer.Dispatcher.BeginInvoke( - (Action)((t, i) => t.SetImageSource(i, true)), + (Action)((t, i) => t.SetImageSource(i, animateOpacity)), DispatcherPriority.Background, tile, image); if (buffer != null && Cache != null) diff --git a/MapControl/TileLayer.cs b/MapControl/TileLayer.cs index d923db5a..8d9e120d 100644 --- a/MapControl/TileLayer.cs +++ b/MapControl/TileLayer.cs @@ -53,6 +53,7 @@ namespace MapControl MaxZoomLevel = 18; MaxParallelDownloads = 8; LoadLowerZoomLevels = true; + AnimateTileOpacity = true; Initialize(); } @@ -64,6 +65,7 @@ namespace MapControl public int MaxZoomLevel { get; set; } public int MaxParallelDownloads { get; set; } public bool LoadLowerZoomLevels { get; set; } + public bool AnimateTileOpacity { get; set; } public Brush Foreground { get; set; } public string Description diff --git a/MapControl/TileSource.cs b/MapControl/TileSource.cs index 2a62b1ce..a6ff4a41 100644 --- a/MapControl/TileSource.cs +++ b/MapControl/TileSource.cs @@ -27,17 +27,16 @@ namespace MapControl public TileSource() { + MetersPerDegree = EarthRadius * Math.PI / 180d; } public TileSource(string uriFormat) + : this() { UriFormat = uriFormat; } - public virtual double MetersPerDegree - { - get { return EarthRadius * Math.PI / 180d; } - } + public double MetersPerDegree { get; protected set; } public string UriFormat { diff --git a/MapControl/WinRT/Properties/AssemblyInfo.cs b/MapControl/WinRT/Properties/AssemblyInfo.cs index 2e9aa00c..ce652f87 100644 --- a/MapControl/WinRT/Properties/AssemblyInfo.cs +++ b/MapControl/WinRT/Properties/AssemblyInfo.cs @@ -8,8 +8,8 @@ using System.Runtime.InteropServices; [assembly: AssemblyCompany("Clemens Fischer")] [assembly: AssemblyCopyright("Copyright © Clemens Fischer 2012-2013")] [assembly: AssemblyTrademark("")] -[assembly: AssemblyVersion("1.3.7")] -[assembly: AssemblyFileVersion("1.3.7")] +[assembly: AssemblyVersion("1.3.8")] +[assembly: AssemblyFileVersion("1.3.8")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCulture("")] [assembly: ComVisible(false)] diff --git a/MapControl/WinRT/Themes/Generic.xaml b/MapControl/WinRT/Themes/Generic.xaml index 99f00547..84a5361e 100644 --- a/MapControl/WinRT/Themes/Generic.xaml +++ b/MapControl/WinRT/Themes/Generic.xaml @@ -1,5 +1,5 @@ -