diff --git a/CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj b/CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj
index 3b770275..a3775697 100644
--- a/CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj
+++ b/CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj
@@ -114,8 +114,10 @@
+
+
diff --git a/CampusAppWP8/CampusAppWP8/File/Places/PlacesFile.cs b/CampusAppWP8/CampusAppWP8/File/Places/PlacesFile.cs
index 382547bb..58991d42 100644
--- a/CampusAppWP8/CampusAppWP8/File/Places/PlacesFile.cs
+++ b/CampusAppWP8/CampusAppWP8/File/Places/PlacesFile.cs
@@ -51,7 +51,7 @@ namespace CampusAppWP8.File.Places
///
/// Method load OfflineMap as Fallback
///
- private void FallBackLoad()
+ public void FallBackLoad()
{
SpsModel fallBackModel = XmlManager.DeserializationFileToModel(Constants.FileMap_OfflineMap);
this.Model = fallBackModel;
diff --git a/CampusAppWP8/CampusAppWP8/Model/Campusmap/CBMainMapModel.cs b/CampusAppWP8/CampusAppWP8/Model/Campusmap/CBMainMapModel.cs
index a0d6976c..ebb66894 100644
--- a/CampusAppWP8/CampusAppWP8/Model/Campusmap/CBMainMapModel.cs
+++ b/CampusAppWP8/CampusAppWP8/Model/Campusmap/CBMainMapModel.cs
@@ -11,6 +11,7 @@ namespace CampusAppWP8.Model.Campusmap
using CampusAppWP8.File.Places;
using CampusAppWP8.Model.GeoDb;
using CampusAppWP8.Resources;
+ using System.Collections.Generic;
///
/// Class for the MapModel of the mainCampus of cottbus
@@ -29,7 +30,7 @@ namespace CampusAppWP8.Model.Campusmap
///
/// Initializes a new instance of the class.
///
- public CBMainMapModel()
+ public CBMainMapModel(List placeList) : base (placeList,CBMainMapModel.Campus)
{
this.ImageSource = Constants.FileMap_CBMainMap;
this.ImageWidth = 2000;
@@ -41,19 +42,11 @@ namespace CampusAppWP8.Model.Campusmap
this.ScaleY = 197648.8919266073;
this.GeoOffsetX = 14.327159;
this.GeoOffsetY = 51.766548;
- this.CampusId = CBMainMapModel.Campus;
}
#endregion
- #region Method
-
- /// Loads the spatial./.
- /// Stubbfel, 19.08.2013.
- protected override void LoadSpatials()
- {
-
- }
+ #region Method
#endregion
}
diff --git a/CampusAppWP8/CampusAppWP8/Model/Campusmap/CampusMapModel.cs b/CampusAppWP8/CampusAppWP8/Model/Campusmap/CampusMapModel.cs
index 812a8d78..20a4012b 100644
--- a/CampusAppWP8/CampusAppWP8/Model/Campusmap/CampusMapModel.cs
+++ b/CampusAppWP8/CampusAppWP8/Model/Campusmap/CampusMapModel.cs
@@ -1,4 +1,5 @@
-using System;
+using CampusAppWP8.Model.GeoDb;
+using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
@@ -8,6 +9,32 @@ namespace CampusAppWP8.Model.Campusmap
{
public class CampusMapModel : MapModel
{
+
public string CampusId { get; protected set; }
+
+ public CampusMapModel(List placeList,string campusId)
+ {
+ this.CampusId = campusId;
+ this.LoadSpatials(placeList);
+ this.IsReady = true;
+ }
+
+ /// Loads the spatial./.
+ /// Stubbfel, 19.08.2013.
+ protected override void LoadSpatials(List placeList)
+ {
+ List campusPlaces = new List();
+ this.Spatial = new SpsModel();
+
+ foreach (PlaceModel place in placeList)
+ {
+ if (place.ParentId.Equals(this.CampusId) || place.PlaceId.Equals(this.CampusId))
+ {
+ campusPlaces.Add(place);
+ }
+
+ }
+ this.Spatial.AddPlaces(campusPlaces);
+ }
}
}
diff --git a/CampusAppWP8/CampusAppWP8/Model/Campusmap/ClickAblePlacePinModel.cs b/CampusAppWP8/CampusAppWP8/Model/Campusmap/ClickAblePlacePinModel.cs
new file mode 100644
index 00000000..bb47a8fa
--- /dev/null
+++ b/CampusAppWP8/CampusAppWP8/Model/Campusmap/ClickAblePlacePinModel.cs
@@ -0,0 +1,40 @@
+using CampusAppWP8.Model.GeoDb;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace CampusAppWP8.Model.Campusmap
+{
+ public abstract class ClickAblePlacePinModel : MapPinModel
+ {
+ #region property
+
+ ///
+ /// Gets or sets Callback Function, to show place information of the Pin
+ ///
+ public MapModel.MapInfos CallBack { get; set; }
+
+ ///
+ /// Gets or sets place which are associative with this pin
+ ///
+ public List AssocPlaces { get; set; }
+
+ #endregion
+
+ #region Method
+
+ ///
+ /// Show Information of this pin places
+ ///
+ /// sender of the Event
+ /// MouseButtonEvent Arguments
+ public void ShowInfo(object sender, System.Windows.Input.MouseButtonEventArgs e)
+ {
+ this.CallBack(this.AssocPlaces);
+ }
+
+ #endregion
+ }
+}
diff --git a/CampusAppWP8/CampusAppWP8/Model/Campusmap/CurrentPositionPinModel.cs b/CampusAppWP8/CampusAppWP8/Model/Campusmap/CurrentPositionPinModel.cs
index 0e9b0552..e23d03bb 100644
--- a/CampusAppWP8/CampusAppWP8/Model/Campusmap/CurrentPositionPinModel.cs
+++ b/CampusAppWP8/CampusAppWP8/Model/Campusmap/CurrentPositionPinModel.cs
@@ -26,6 +26,7 @@ namespace CampusAppWP8.Model.Campusmap
this.ImageHeight = 60;
this.PinImageOffsetX = -25;
this.PinImageOffsetY = -34;
+ this.Tag = MapPinModel.CurrendPositionPlacePinString;
}
#endregion
diff --git a/CampusAppWP8/CampusAppWP8/Model/Campusmap/HiddenPinPlaceModel.cs b/CampusAppWP8/CampusAppWP8/Model/Campusmap/HiddenPinPlaceModel.cs
index e684b3d9..f33d715b 100644
--- a/CampusAppWP8/CampusAppWP8/Model/Campusmap/HiddenPinPlaceModel.cs
+++ b/CampusAppWP8/CampusAppWP8/Model/Campusmap/HiddenPinPlaceModel.cs
@@ -11,5 +11,10 @@ namespace CampusAppWP8.Model.Campusmap
/// Stubbfel, 27.08.2013.
public class HiddenPinPlaceModel : MapPinModel
{
+
+ public HiddenPinPlaceModel()
+ {
+ this.Tag = MapPinModel.HiddenPlacePinString;
+ }
}
}
diff --git a/CampusAppWP8/CampusAppWP8/Model/Campusmap/InfoPlacePinModel.cs b/CampusAppWP8/CampusAppWP8/Model/Campusmap/InfoPlacePinModel.cs
new file mode 100644
index 00000000..699f8a9e
--- /dev/null
+++ b/CampusAppWP8/CampusAppWP8/Model/Campusmap/InfoPlacePinModel.cs
@@ -0,0 +1,30 @@
+using CampusAppWP8.Resources;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace CampusAppWP8.Model.Campusmap
+{
+ public class InfoPlacePinModel : ClickAblePlacePinModel
+ {
+ #region Constructor
+
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ /// Stubbfel, 27.08.2013.
+ public InfoPlacePinModel()
+ {
+ this.ImageSource = Icons.Info;
+ this.ImageWidth = 60;
+ this.ImageHeight = 60;
+ this.PinImageOffsetX = -25;
+ this.PinImageOffsetY = -27;
+ this.Tag = MapPinModel.PinTypeToString(PinType.InfoPlace);
+ }
+
+ #endregion
+ }
+}
diff --git a/CampusAppWP8/CampusAppWP8/Model/Campusmap/MapModel.cs b/CampusAppWP8/CampusAppWP8/Model/Campusmap/MapModel.cs
index 40c97791..601f84bb 100644
--- a/CampusAppWP8/CampusAppWP8/Model/Campusmap/MapModel.cs
+++ b/CampusAppWP8/CampusAppWP8/Model/Campusmap/MapModel.cs
@@ -22,12 +22,20 @@ namespace CampusAppWP8.Model.Campusmap
{
#region Constructors
+
+ public MapModel()
+ {
+ this.IsReady = false;
+ }
+
///
/// Initializes a new instance of the class.
///
- public MapModel()
+ public MapModel(List placeList)
{
- this.LoadSpatials();
+ this.IsReady = false;
+ this.LoadSpatials(placeList);
+ this.IsReady = true;
}
#endregion
@@ -48,6 +56,8 @@ namespace CampusAppWP8.Model.Campusmap
#endregion
#region Property
+ public bool IsReady { get; protected set; }
+
///
/// Gets or sets the ImageSource of the map
///
@@ -246,8 +256,10 @@ namespace CampusAppWP8.Model.Campusmap
/// Loads the spatial./
/// Stubbfel, 19.08.2013.
- protected virtual void LoadSpatials()
+ protected virtual void LoadSpatials(List placeList)
{
+ this.Spatial = new SpsModel();
+ this.Spatial.AddPlaces(placeList);
}
#endregion
@@ -275,11 +287,18 @@ namespace CampusAppWP8.Model.Campusmap
((SearchPlacePinModel)pin).AssocPlaces = places;
((SearchPlacePinModel)pin).CallBack = this.ShowMapInfos;
break;
+ case MapPinModel.PinType.InfoPlace:
+ pin = new InfoPlacePinModel();
+ pinImg.MouseLeftButtonDown += new MouseButtonEventHandler(((InfoPlacePinModel)pin).ShowInfo);
+
+ ((InfoPlacePinModel)pin).AssocPlaces = places;
+ ((InfoPlacePinModel)pin).CallBack = this.ShowMapInfos;
+ break;
default:
pin = new HiddenPinPlaceModel();
break;
}
-
+ pinImg.Tag = pin.Tag;
return pin;
}
diff --git a/CampusAppWP8/CampusAppWP8/Model/Campusmap/MapPinModel.cs b/CampusAppWP8/CampusAppWP8/Model/Campusmap/MapPinModel.cs
index 44cc5451..8c08f497 100644
--- a/CampusAppWP8/CampusAppWP8/Model/Campusmap/MapPinModel.cs
+++ b/CampusAppWP8/CampusAppWP8/Model/Campusmap/MapPinModel.cs
@@ -17,6 +17,17 @@ namespace CampusAppWP8.Model.Campusmap
{
#region Member
+ private static string infoPlacePinString = MapPinModel.PinTypeToString(PinType.InfoPlace);
+
+
+ private static string hiddenPlacePinString = MapPinModel.PinTypeToString(PinType.Hidden);
+
+
+ private static string searchPlacePinString = MapPinModel.PinTypeToString(PinType.SearchPlace);
+
+
+ private static string currendPositionPlacePinString = MapPinModel.PinTypeToString(PinType.CurrentPosition);
+
///
/// Variable of the actual position of the pin
///
@@ -46,7 +57,10 @@ namespace CampusAppWP8.Model.Campusmap
SearchPlace = 1,
/// An enum constant representing the current position option.
- CurrentPosition = 2
+ CurrentPosition = 2,
+
+ /// An enum constant representing the info place option.
+ InfoPlace = 3
}
#endregion
@@ -114,6 +128,55 @@ namespace CampusAppWP8.Model.Campusmap
}
}
}
+
+ public object Tag { get; set; }
+
+ public static string CurrendPositionPlacePinString
+ {
+ get { return MapPinModel.currendPositionPlacePinString; }
+ }
+ public static string SearchPlacePinString
+ {
+ get { return MapPinModel.searchPlacePinString; }
+ }
+
+ public static string HiddenPlacePinString
+ {
+ get { return MapPinModel.hiddenPlacePinString; }
+ }
+
+ public static string InfoPlacePinString
+ {
+ get { return MapPinModel.infoPlacePinString; }
+ }
+ #endregion
+
+ #region Method
+
+ public static string PinTypeToString(PinType type)
+ {
+ string result = null;
+
+ switch (type)
+ {
+ case PinType.CurrentPosition:
+ result = "CurrentPositionPin";
+ break;
+ case PinType.Hidden:
+ result = "HiddenPin";
+ break;
+ case PinType.InfoPlace:
+ result = "InfoPin";
+ break;
+ case PinType.SearchPlace:
+ result = "SearchPlacePin";
+ break;
+ default:
+ result = string.Empty;
+ break;
+ }
+ return result;
+ }
#endregion
}
}
diff --git a/CampusAppWP8/CampusAppWP8/Model/Campusmap/SearchPlacePinModel.cs b/CampusAppWP8/CampusAppWP8/Model/Campusmap/SearchPlacePinModel.cs
index 15b62fc3..77ea478a 100644
--- a/CampusAppWP8/CampusAppWP8/Model/Campusmap/SearchPlacePinModel.cs
+++ b/CampusAppWP8/CampusAppWP8/Model/Campusmap/SearchPlacePinModel.cs
@@ -14,7 +14,7 @@ namespace CampusAppWP8.Model.Campusmap
/// Search pin place model.
/// Stubbfel, 27.08.2013.
- public class SearchPlacePinModel : MapPinModel
+ public class SearchPlacePinModel : ClickAblePlacePinModel
{
#region Constructor
@@ -29,34 +29,7 @@ namespace CampusAppWP8.Model.Campusmap
this.ImageHeight = 60;
this.PinImageOffsetX = -25;
this.PinImageOffsetY = -27;
- }
-
- #endregion
-
- #region property
-
- ///
- /// Gets or sets Callback Function, to show place information of the Pin
- ///
- public MapModel.MapInfos CallBack { get; set; }
-
- ///
- /// Gets or sets place which are associative with this pin
- ///
- public List AssocPlaces { get; set; }
-
- #endregion
-
- #region Method
-
- ///
- /// Show Information of this pin places
- ///
- /// sender of the Event
- /// MouseButtonEvent Arguments
- public void ShowInfo(object sender, System.Windows.Input.MouseButtonEventArgs e)
- {
- this.CallBack(this.AssocPlaces);
+ this.Tag = MapPinModel.SearchPlacePinString;
}
#endregion
diff --git a/CampusAppWP8/CampusAppWP8/Pages/Campusmap/CampusMapPage.xaml b/CampusAppWP8/CampusAppWP8/Pages/Campusmap/CampusMapPage.xaml
index d9c8457e..29065130 100644
--- a/CampusAppWP8/CampusAppWP8/Pages/Campusmap/CampusMapPage.xaml
+++ b/CampusAppWP8/CampusAppWP8/Pages/Campusmap/CampusMapPage.xaml
@@ -39,21 +39,10 @@
-
-