diff --git a/CampusAppWP8/CampusAppWP8/Assets/campusmap.png b/CampusAppWP8/CampusAppWP8/Assets/campusmap.png new file mode 100644 index 00000000..8adaf203 Binary files /dev/null and b/CampusAppWP8/CampusAppWP8/Assets/campusmap.png differ diff --git a/CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj b/CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj index a85ec411..d82a3940 100644 --- a/CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj +++ b/CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj @@ -358,6 +358,7 @@ PreserveNewest + diff --git a/CampusAppWP8/CampusAppWP8/Model/Campusmap/MapModel.cs b/CampusAppWP8/CampusAppWP8/Model/Campusmap/MapModel.cs index 11d1b322..8b64857a 100644 --- a/CampusAppWP8/CampusAppWP8/Model/Campusmap/MapModel.cs +++ b/CampusAppWP8/CampusAppWP8/Model/Campusmap/MapModel.cs @@ -70,6 +70,11 @@ namespace CampusAppWP8.Model.Campusmap /// public double Scale { get; set; } + /// + /// Gets or sets the Scale (to pixel) of the map + /// + public double Ratio { get; set; } + /// /// Gets or sets the reference point /// @@ -159,7 +164,8 @@ namespace CampusAppWP8.Model.Campusmap /// Point in pixel-size public Point ConverToPixelPoint(double x, double y) { - return new Point { X = this.Scale * x, Y = this.Scale * y }; + Point p = new Point { X = this.Scale * x, Y = (this.Scale * y) / this.Ratio}; + return p; } /// @@ -172,6 +178,27 @@ namespace CampusAppWP8.Model.Campusmap return this.ConverToPixelPoint(point.X, point.Y); } + // + /// Convert a coordinates to coordinates which address pixels + /// + /// the x-coordinate + /// the y-coordinate + /// Point in pixel-size + public Point ConverToMapPoint(double x, double y) + { + return new Point { X = x - this.GeoOffsetX, Y = (y - this.GeoOffsetY)}; + } + + /// + /// Convert a coordinates to coordinates which address pixels + /// + /// not scaled point + /// Point in pixel-size + public Point ConverToMapPoint(Point point) + { + return this.ConverToMapPoint(point.X, point.Y); + } + #endregion } } diff --git a/CampusAppWP8/CampusAppWP8/Model/Campusmap/MapPinModel.cs b/CampusAppWP8/CampusAppWP8/Model/Campusmap/MapPinModel.cs index 8e9b131a..2ee3bfab 100644 --- a/CampusAppWP8/CampusAppWP8/Model/Campusmap/MapPinModel.cs +++ b/CampusAppWP8/CampusAppWP8/Model/Campusmap/MapPinModel.cs @@ -7,6 +7,7 @@ //---------------------------------------------------------------------- namespace CampusAppWP8.Model.Campusmap { + using CampusAppWP8.Resources; using System.Windows; /// @@ -22,13 +23,14 @@ namespace CampusAppWP8.Model.Campusmap private Point position; #endregion + #region Constructor /// /// Initializes a new instance of the class. /// public MapPinModel() { - this.ImageSource = "/Assets/icons/search_159_light.png"; + this.ImageSource = Icons.Search; this.ImageWidth = 60; this.ImageHeight = 60; this.PinImageOffsetX = -24; diff --git a/CampusAppWP8/CampusAppWP8/Pages/Campusmap/CampusMapPage.xaml b/CampusAppWP8/CampusAppWP8/Pages/Campusmap/CampusMapPage.xaml index 2aa7d7f9..690b9abc 100644 --- a/CampusAppWP8/CampusAppWP8/Pages/Campusmap/CampusMapPage.xaml +++ b/CampusAppWP8/CampusAppWP8/Pages/Campusmap/CampusMapPage.xaml @@ -39,8 +39,8 @@ - - + + diff --git a/CampusAppWP8/CampusAppWP8/Pages/Campusmap/CampusMapPage.xaml.cs b/CampusAppWP8/CampusAppWP8/Pages/Campusmap/CampusMapPage.xaml.cs index 9879233b..d8c1c33e 100644 --- a/CampusAppWP8/CampusAppWP8/Pages/Campusmap/CampusMapPage.xaml.cs +++ b/CampusAppWP8/CampusAppWP8/Pages/Campusmap/CampusMapPage.xaml.cs @@ -11,7 +11,7 @@ namespace CampusAppWP8.Pages.Campusmap public CampusMapPage() { InitializeComponent(); - this.map = new MapModel() { ImageSource = "/Assets/testmap.png", ImageWidth = 2000, ImageHeight = 2000, MapImageOffsetX = -228, MapImageOffsetY = -300, RefPoint = new Point(1000, 1000), Scale = 20}; + this.map = new MapModel() { ImageSource = "/Assets/campusmap.png", ImageWidth = 2000, ImageHeight = 1425, MapImageOffsetX = -228, MapImageOffsetY = -300, RefPoint = new Point(625, 900), Scale = 127118.6440677966, Ratio = 0.7125, GeoOffsetX = 14.32141, GeoOffsetY = 51.76599 }; this.MapCanvas.DataContext = map; } @@ -32,8 +32,8 @@ namespace CampusAppWP8.Pages.Campusmap private void Button_Click(object sender, RoutedEventArgs e) { MapCanvas.Children.Clear(); - Point scrollPoint = map.GetScrollPoint(map.ConverToPixelPoint(double.Parse(XPoint.Text), double.Parse(YPoint.Text))); - MapCanvas.Children.Add(map.AddPinFromRefPoint(map.ConverToPixelPoint(double.Parse(XPoint.Text), double.Parse(YPoint.Text)))); + Point scrollPoint = map.GetScrollPoint(map.ConverToPixelPoint(map.ConverToMapPoint(double.Parse(XPoint.Text), double.Parse(YPoint.Text)))); + MapCanvas.Children.Add(map.AddPinFromRefPoint(map.ConverToPixelPoint(map.ConverToMapPoint(double.Parse(XPoint.Text), double.Parse(YPoint.Text))))); MapScroller.ScrollToVerticalOffset(scrollPoint.Y); MapScroller.ScrollToHorizontalOffset(scrollPoint.X); diff --git a/CampusAppWP8/CampusAppWP8/Properties/WMAppManifest.xml b/CampusAppWP8/CampusAppWP8/Properties/WMAppManifest.xml index 63a91f7c..6e8f0026 100644 --- a/CampusAppWP8/CampusAppWP8/Properties/WMAppManifest.xml +++ b/CampusAppWP8/CampusAppWP8/Properties/WMAppManifest.xml @@ -14,7 +14,7 @@ - +