Version 2.3.0:

- Added BingMapsTileLayer
- Added TileLayer.DescriptionInlines property
- Added global Settings class
- Added Phone Silverlight 8.1 build target
- Use expiration time of downloaded images for caching
This commit is contained in:
ClemensF 2014-10-19 21:50:23 +02:00
parent 8917e1d4cb
commit 91ff46c506
58 changed files with 1225 additions and 491 deletions

View file

@ -2,6 +2,7 @@
using System.Globalization;
using System.Runtime.Caching;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Input;
using Caching;
using MapControl;
@ -10,24 +11,34 @@ namespace WpfApplication
{
public partial class MainWindow : Window
{
private TileLayerCollection tileLayers;
public MainWindow()
{
switch (Properties.Settings.Default.TileCache)
{
case "MemoryCache":
TileImageLoader.Cache = MemoryCache.Default;
TileImageLoader.Cache = MemoryCache.Default; // this is the default value of the TileImageLoader.Cache property
break;
case "ImageFileCache":
TileImageLoader.Cache = new ImageFileCache(TileImageLoader.DefaultCacheName, TileImageLoader.DefaultCacheDirectory);
break;
case "FileDbCache":
TileImageLoader.Cache = new FileDbCache(TileImageLoader.DefaultCacheName, TileImageLoader.DefaultCacheDirectory);
break;
case "ImageFileCache":
TileImageLoader.Cache = new ImageFileCache(TileImageLoader.DefaultCacheName, TileImageLoader.DefaultCacheDirectory);
case "None":
TileImageLoader.Cache = null;
break;
default:
break;
}
//BingMapsTileLayer.ApiKey = ...
InitializeComponent();
tileLayers = (TileLayerCollection)Resources["TileLayers"];
tileLayerComboBox.SelectedIndex = 0;
}
private void MapMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
@ -90,14 +101,24 @@ namespace WpfApplication
e.Handled = true;
}
private void TileLayerSelectionChanged(object sender, SelectionChangedEventArgs e)
{
var selectedItem = (ComboBoxItem)tileLayerComboBox.SelectedItem;
map.TileLayer = tileLayers[(string)selectedItem.Tag];
mapLegend.Inlines.Clear();
mapLegend.Inlines.AddRange(map.TileLayer.DescriptionInlines);
}
private void SeamarksChecked(object sender, RoutedEventArgs e)
{
map.TileLayers.Add((TileLayer)Resources["SeamarksTileLayer"]);
map.TileLayers.Add(tileLayers["Seamarks"]);
}
private void SeamarksUnchecked(object sender, RoutedEventArgs e)
{
map.TileLayers.Remove((TileLayer)Resources["SeamarksTileLayer"]);
map.TileLayers.Remove(tileLayers["Seamarks"]);
}
}
}