diff --git a/TripPreparationApp/BicycleTripsPreparationApp/MainScreen.xaml b/TripPreparationApp/BicycleTripsPreparationApp/MainScreen.xaml
index 4562218..a56d8a3 100644
--- a/TripPreparationApp/BicycleTripsPreparationApp/MainScreen.xaml
+++ b/TripPreparationApp/BicycleTripsPreparationApp/MainScreen.xaml
@@ -35,6 +35,7 @@ xmlns:s="clr-namespace:System;assembly=mscorlib"
+
@@ -53,6 +54,51 @@ xmlns:s="clr-namespace:System;assembly=mscorlib"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -78,7 +124,6 @@ xmlns:s="clr-namespace:System;assembly=mscorlib"
-
@@ -100,19 +145,13 @@ xmlns:s="clr-namespace:System;assembly=mscorlib"
-
+
-
-
-
-
-
-
-
+
diff --git a/TripPreparationApp/BicycleTripsPreparationApp/MainScreen.xaml.cs b/TripPreparationApp/BicycleTripsPreparationApp/MainScreen.xaml.cs
index 4474390..920026b 100644
--- a/TripPreparationApp/BicycleTripsPreparationApp/MainScreen.xaml.cs
+++ b/TripPreparationApp/BicycleTripsPreparationApp/MainScreen.xaml.cs
@@ -36,6 +36,7 @@ public partial class MainScreen : UserControl
private GraphicsLayer _splitLayer;
private List _wayPoints;
private DistanceAnalyzer _distanceAnalyzer;
+ private string _originalFile;
public MainScreen()
{
InitializeComponent();
@@ -57,7 +58,8 @@ private void Button_Click(object sender, RoutedEventArgs e)
_routelayer.Graphics.Clear();
_splitLayer.Graphics.Clear();
_poiLayer.Graphics.Clear();
- _lastUsedFolder = Path.GetDirectoryName(openFileDialog.FileName);
+ _originalFile = openFileDialog.FileName;
+ _lastUsedFolder = Path.GetDirectoryName(_originalFile);
GetWayPoints(openFileDialog.FileName);
}
}
@@ -135,6 +137,7 @@ private void GetStartAndEndPoint(SimpleMarkerSymbol startSymbol, SimpleMarkerSym
var geometry = CreateGeometryFromWayPoints(wayPoints);
var track = new Graphic(geometry, grid.Resources["TotalRoute"] as SimpleLineSymbol);
track.Attributes["routename"] = "mannus";
+ _routelayer.Graphics.Clear();
_routelayer.Graphics.Add(track);
var startPoint = new Graphic(new MapPoint((double)wayPoints.First().lon, (double)wayPoints.First().lat, new SpatialReference(4326)), startSymbol);
var endPoint = new Graphic(new MapPoint((double)wayPoints.Last().lon, (double)wayPoints.Last().lat, new SpatialReference(4326)), endSymbol);
@@ -273,6 +276,25 @@ private void CheckBox_Checked(object sender, RoutedEventArgs e)
Map.Layers[2].IsVisible = !Map.Layers[2].IsVisible;
}
+ private void Button_Click_1(object sender, RoutedEventArgs e)
+ {
+ _wayPoints.Reverse();
+ SetRoute();
+ }
+
+ private void Button_Click_2(object sender, RoutedEventArgs e)
+ {
+ var pois = GetPOIs();
+ var filename = _originalFile;
+ var gpxFile = new GPXFile();
+ var gpx = new gpxType();
+ var rte = new rteType();
+ rte.rtept = _wayPoints.ToArray();
+ gpx.rte = new List() { rte }.ToArray();
+ gpx.wpt = pois;
+ gpxFile.Save(filename, gpx);
+ }
+
private async void UserControl_Loaded(object sender, RoutedEventArgs e)
{
try
diff --git a/TripPreparationApp/BicycleTripsPreparationApp/ViewModels/MainScreenViewModel.cs b/TripPreparationApp/BicycleTripsPreparationApp/ViewModels/MainScreenViewModel.cs
index 68d8ac7..24155c6 100644
--- a/TripPreparationApp/BicycleTripsPreparationApp/ViewModels/MainScreenViewModel.cs
+++ b/TripPreparationApp/BicycleTripsPreparationApp/ViewModels/MainScreenViewModel.cs
@@ -29,6 +29,7 @@ public class MainScreenViewModel : ViewModelBase
public RelayCommand SwitchBaseMapCommand { get; private set; }
public RelayCommand SaveSplittedRoute { get; private set; }
public RelayCommand AddPOICommand { get; private set; }
+ public RelayCommand FlipDirectionCommand { get; private set; }
public MainScreenViewModel()
{
@@ -38,10 +39,15 @@ public MainScreenViewModel()
ShowOpenStreetMap = false;
SwitchBaseMapCommand = new RelayCommand(x => SwitchBaseMap(x));
AddPOICommand = new RelayCommand(AddPOI);
+ FlipDirectionCommand = new RelayCommand(FlipDirection);
MapDoubleClickCommand = new RelayCommand(x => MapDoubleClick(x));
ClearPOIsCommand = new RelayCommand(ClearPOIs);
}
+ private void FlipDirection()
+ {
+ }
+
// TODO: nog niet volledig mvvm
private void ClearPOIs()
{