diff --git a/CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj b/CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj
index 79c3aa26..075d64a7 100644
--- a/CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj
+++ b/CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj
@@ -119,6 +119,7 @@
+
diff --git a/CampusAppWP8/CampusAppWP8/Model/Campusmap/CBMainMapModel.cs b/CampusAppWP8/CampusAppWP8/Model/Campusmap/CBMainMapModel.cs
index 9f3c79b5..9d95e476 100644
--- a/CampusAppWP8/CampusAppWP8/Model/Campusmap/CBMainMapModel.cs
+++ b/CampusAppWP8/CampusAppWP8/Model/Campusmap/CBMainMapModel.cs
@@ -44,6 +44,20 @@ namespace CampusAppWP8.Model.Campusmap
this.GeoOffsetY = 51.766548;
}
+ public CBMainMapModel()
+ {
+ this.ImageSource = Constants.FileMap_CBMainMap;
+ this.ImageWidth = 2000;
+ this.ImageHeight = 1425;
+ this.MapImageOffsetX = -228;
+ this.MapImageOffsetY = -300;
+ this.RefPoint = new Point(1365, 800);
+ this.ScaleX = 129483.4123222749;
+ this.ScaleY = 197648.8919266073;
+ this.GeoOffsetX = 14.327159;
+ this.GeoOffsetY = 51.766548;
+ }
+
#endregion
#region Method
diff --git a/CampusAppWP8/CampusAppWP8/Model/Campusmap/CBMainMapRoomModel.cs b/CampusAppWP8/CampusAppWP8/Model/Campusmap/CBMainMapRoomModel.cs
new file mode 100644
index 00000000..523eb7fa
--- /dev/null
+++ b/CampusAppWP8/CampusAppWP8/Model/Campusmap/CBMainMapRoomModel.cs
@@ -0,0 +1,40 @@
+//-----------------------------------------------------------------------------
+//
+// Company copyright tag.
+//
+// stubbfel
+// 13.08.2013
+//-----------------------------------------------------------------------------
+namespace CampusAppWP8.Model.Campusmap
+{
+ using System.Windows;
+ using CampusAppWP8.File.Places;
+ using CampusAppWP8.Model.GeoDb;
+ using CampusAppWP8.Resources;
+ using System.Collections.Generic;
+
+ ///
+ /// Class for the MapModel of the mainCampus of cottbus
+ ///
+ public class CBMainMapRoomModel : CBMainMapModel
+ {
+ #region Constructor
+ public CBMainMapRoomModel()
+ {
+ this.ImageSource = Constants.FileMap_CBMainMap;
+ this.ImageWidth = 4000;
+ this.ImageHeight = 2850;
+ this.MapImageOffsetX = 48;
+ this.MapImageOffsetY = 0;
+ this.RefPoint = new Point(2430, 1600);
+ this.ScaleX = 258966.8246445498;
+ this.ScaleY = 395297.7838532146;
+ this.GeoOffsetX = 14.327159;
+ this.GeoOffsetY = 51.766548;
+ }
+
+ #endregion
+
+
+ }
+}
diff --git a/CampusAppWP8/CampusAppWP8/Model/Campusmap/CampusMapModel.cs b/CampusAppWP8/CampusAppWP8/Model/Campusmap/CampusMapModel.cs
index 7b9bfb8f..579a80f3 100644
--- a/CampusAppWP8/CampusAppWP8/Model/Campusmap/CampusMapModel.cs
+++ b/CampusAppWP8/CampusAppWP8/Model/Campusmap/CampusMapModel.cs
@@ -30,6 +30,10 @@ namespace CampusAppWP8.Model.Campusmap
this.IsReady = true;
}
+ public CampusMapModel()
+ {
+ }
+
#endregion
#region property
diff --git a/CampusAppWP8/CampusAppWP8/Pages/Campusmap/CampusMapPage.xaml.cs b/CampusAppWP8/CampusAppWP8/Pages/Campusmap/CampusMapPage.xaml.cs
index 39877a04..8a9496e0 100644
--- a/CampusAppWP8/CampusAppWP8/Pages/Campusmap/CampusMapPage.xaml.cs
+++ b/CampusAppWP8/CampusAppWP8/Pages/Campusmap/CampusMapPage.xaml.cs
@@ -692,6 +692,11 @@ namespace CampusAppWP8.Pages.Campusmap
/// List of places
private void ShowMapInfo(List places)
{
+ if (places == null)
+ {
+ return;
+ }
+
string msgText = string.Empty;
foreach (PlaceModel place in places)
{
diff --git a/CampusAppWP8/CampusAppWP8/Pages/Campusmap/RoomListPage.xaml b/CampusAppWP8/CampusAppWP8/Pages/Campusmap/RoomListPage.xaml
index be326965..4abd06c1 100644
--- a/CampusAppWP8/CampusAppWP8/Pages/Campusmap/RoomListPage.xaml
+++ b/CampusAppWP8/CampusAppWP8/Pages/Campusmap/RoomListPage.xaml
@@ -16,33 +16,17 @@
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
\ No newline at end of file
diff --git a/CampusAppWP8/CampusAppWP8/Pages/Campusmap/RoomListPage.xaml.cs b/CampusAppWP8/CampusAppWP8/Pages/Campusmap/RoomListPage.xaml.cs
index dc0cac40..c8cd391a 100644
--- a/CampusAppWP8/CampusAppWP8/Pages/Campusmap/RoomListPage.xaml.cs
+++ b/CampusAppWP8/CampusAppWP8/Pages/Campusmap/RoomListPage.xaml.cs
@@ -17,6 +17,10 @@ namespace CampusAppWP8.Pages.Campusmap
using CampusAppWP8.Resources;
using Microsoft.Phone.Controls;
using CampusAppWP8.Utility.Lui.MessageBoxes;
+ using CampusAppWP8.Model.Campusmap;
+ using System.Windows;
+ using System.Windows.Controls;
+ using CampusAppWP8.Utility;
///
/// Class of the RoomListPage
@@ -34,6 +38,9 @@ namespace CampusAppWP8.Pages.Campusmap
///
private CampusBuildingModel building;
+ /// Variable for the map model.
+ private CampusMapModel campusMap;
+
#endregion
#region Constructor
@@ -43,6 +50,8 @@ namespace CampusAppWP8.Pages.Campusmap
public RoomListPage()
{
this.InitializeComponent();
+ this.campusMap = new CBMainMapRoomModel();
+ this.campusMap.ShowMapInfos += new CBMainMapModel.MapInfos(this.ShowMapInfo);
}
#endregion
@@ -100,8 +109,30 @@ namespace CampusAppWP8.Pages.Campusmap
if (this.building != null && this.building.Layers != null && this.building.Layers.Count > 0)
{
- this.SetCaptionsToRooms();
- this.RoomPivot.ItemsSource = this.GetSortedLayers(this.building);
+ Dictionary layers = this.GetSortedLayers(this.building);
+ double y = this.building.Building.GeoRefPoint.Latitude;
+ double x = this.building.Building.GeoRefPoint.Longitude;
+ Point mappoint = this.campusMap.GetScrollPoint(this.campusMap.ConverToPixelPoint(this.campusMap.ConverToMapPoint(x, y)));
+
+ this.MapCanvas.DataContext = campusMap;
+
+ Canvas.SetLeft(this.imgMap, -1 * mappoint.X);
+ Canvas.SetTop(this.imgMap, -1 * mappoint.Y);
+ Canvas.SetZIndex(this.imgMap, 0);
+
+ Point offsetPoint = new Point(240, 0);
+ MapCanvas.Children.Add(this.campusMap.AddPin(offsetPoint, MapPinModel.PinType.SearchPlace));
+ CampusBuildingLayerModel layer = layers.Values.ToList()[0];
+ foreach (PlaceModel room in layer.Rooms.Places)
+ {
+ x = room.GeoRefPoint.Longitude;
+ y = room.GeoRefPoint.Latitude;
+ Point roompoint = this.campusMap.GetScrollPoint(this.campusMap.ConverToPixelPoint(this.campusMap.ConverToMapPoint(x, y)));
+ Point viewPoint = new Point(roompoint.X - mappoint.X + offsetPoint.X, roompoint.Y - mappoint.Y + offsetPoint.Y);
+ MapCanvas.Children.Add(this.campusMap.AddPin(viewPoint, MapPinModel.PinType.InfoPlace, new List{room}));
+ }
+ this.LayoutRoot.UpdateLayout();
+
}
else
{
@@ -115,6 +146,47 @@ namespace CampusAppWP8.Pages.Campusmap
}
+ private void ShowMapInfo(List places)
+ {
+ string msgText = string.Empty;
+ if (places == null)
+ {
+ return;
+ }
+ foreach (PlaceModel place in places)
+ {
+ msgText += AppResources.PlaceLabel_Name + ": ";
+ msgText += place.GetInformationsValue(Constants.PisInformationName_Name);
+ msgText = Wp8StringManager.AddNewLine(msgText);
+
+ string type = place.GetInformationsValue(Constants.PisInformationName_Typ);
+ if (type != null)
+ {
+ msgText += AppResources.PlaceLabel_Type + ": ";
+ msgText += type;
+ msgText = Wp8StringManager.AddNewLine(msgText);
+ }
+
+ string shortDesc = place.GetInformationsValue(Constants.PisInformationName_ShortDesc);
+ if (shortDesc != null)
+ {
+ msgText += AppResources.PlaceLabel_ShortDesc + ": ";
+ msgText += shortDesc;
+ msgText = Wp8StringManager.AddNewLine(msgText);
+ }
+
+ string access = place.GetInformationsValue(Constants.PisInformationName_Accesbility);
+ if (access != null)
+ {
+ msgText += AppResources.PlaceLabel_Accessbility + ": ";
+ msgText += access;
+ msgText = Wp8StringManager.AddNewLine(msgText);
+ }
+ }
+
+ MessageBoxes.ShowMainModelInfoMessageBox(msgText);
+ }
+
///
/// Method sorts the Layers
///