2014-07-01 18:57:44 +02:00
|
|
|
|
using System;
|
|
|
|
|
|
using MapControl;
|
|
|
|
|
|
using Windows.UI.Xaml;
|
|
|
|
|
|
using Windows.UI.Xaml.Controls;
|
|
|
|
|
|
using Windows.UI.Xaml.Data;
|
|
|
|
|
|
using Windows.UI.Xaml.Input;
|
|
|
|
|
|
using Windows.UI.Xaml.Navigation;
|
|
|
|
|
|
|
|
|
|
|
|
namespace PhoneApplication
|
|
|
|
|
|
{
|
|
|
|
|
|
public sealed partial class MainPage : Page
|
|
|
|
|
|
{
|
2014-12-17 21:38:28 +01:00
|
|
|
|
private bool mapCentered;
|
2014-07-01 18:57:44 +02:00
|
|
|
|
|
|
|
|
|
|
public MainPage()
|
|
|
|
|
|
{
|
2014-11-19 21:11:14 +01:00
|
|
|
|
//BingMapsTileLayer.ApiKey = "...";
|
2014-07-09 21:27:28 +02:00
|
|
|
|
|
2014-07-01 18:57:44 +02:00
|
|
|
|
InitializeComponent();
|
2014-07-09 21:27:28 +02:00
|
|
|
|
|
2014-07-01 18:57:44 +02:00
|
|
|
|
DataContext = new ViewModel(Dispatcher);
|
|
|
|
|
|
NavigationCacheMode = NavigationCacheMode.Required;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2014-12-17 21:38:28 +01:00
|
|
|
|
private void MapMenuItemClick(object sender, RoutedEventArgs e)
|
2014-10-19 21:50:23 +02:00
|
|
|
|
{
|
2014-12-17 21:38:28 +01:00
|
|
|
|
var tileLayers = (TileLayerCollection)Resources["TileLayers"];
|
|
|
|
|
|
map.TileLayer = tileLayers[(string)((FrameworkElement)sender).Tag];
|
2014-10-19 21:50:23 +02:00
|
|
|
|
}
|
|
|
|
|
|
|
2014-07-01 18:57:44 +02:00
|
|
|
|
private void SeamarksChecked(object sender, RoutedEventArgs e)
|
|
|
|
|
|
{
|
2014-12-17 21:38:28 +01:00
|
|
|
|
var tileLayers = (TileLayerCollection)Resources["TileLayers"];
|
|
|
|
|
|
map.TileLayers.Add(tileLayers["Seamarks"]);
|
2014-07-01 18:57:44 +02:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
private void SeamarksUnchecked(object sender, RoutedEventArgs e)
|
|
|
|
|
|
{
|
2014-12-17 21:38:28 +01:00
|
|
|
|
var tileLayers = (TileLayerCollection)Resources["TileLayers"];
|
|
|
|
|
|
map.TileLayers.Remove(tileLayers["Seamarks"]);
|
2014-07-01 18:57:44 +02:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
private void CenterButtonClick(object sender, RoutedEventArgs e)
|
|
|
|
|
|
{
|
|
|
|
|
|
map.TargetCenter = ((ViewModel)DataContext).Location;
|
2014-12-17 21:38:28 +01:00
|
|
|
|
mapCentered = true;
|
2014-07-01 18:57:44 +02:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
private void MapManipulationStarted(object sender, ManipulationStartedRoutedEventArgs e)
|
|
|
|
|
|
{
|
2014-12-17 21:38:28 +01:00
|
|
|
|
mapCentered = false;
|
2014-07-01 18:57:44 +02:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
private void MapManipulationDelta(object sender, ManipulationDeltaRoutedEventArgs e)
|
|
|
|
|
|
{
|
2014-12-17 21:38:28 +01:00
|
|
|
|
if (mapCentered)
|
2014-07-01 18:57:44 +02:00
|
|
|
|
{
|
2014-12-17 21:38:28 +01:00
|
|
|
|
e.Complete();
|
2014-07-01 18:57:44 +02:00
|
|
|
|
}
|
|
|
|
|
|
else
|
|
|
|
|
|
{
|
2014-12-17 21:38:28 +01:00
|
|
|
|
map.TransformMap(e.Position, e.Delta.Translation, e.Delta.Rotation, e.Delta.Scale);
|
2014-07-01 18:57:44 +02:00
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public class ObjectReferenceConverter : IValueConverter
|
|
|
|
|
|
{
|
|
|
|
|
|
public object Convert(object value, Type targetType, object parameter, string language)
|
|
|
|
|
|
{
|
|
|
|
|
|
if (targetType == typeof(Visibility))
|
|
|
|
|
|
{
|
|
|
|
|
|
return value != null ? Visibility.Visible : Visibility.Collapsed;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
return value != null;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public object ConvertBack(object value, Type targetType, object parameter, string language)
|
|
|
|
|
|
{
|
|
|
|
|
|
throw new NotSupportedException();
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|