MapPage.xaml.cs 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. using System;
  2. using System.Collections.Generic;
  3. using System.IO;
  4. using System.Linq;
  5. using System.Runtime.CompilerServices;
  6. using System.Runtime.InteropServices.WindowsRuntime;
  7. using Windows.Foundation;
  8. using Windows.Foundation.Collections;
  9. using Windows.UI.Xaml;
  10. using Windows.UI.Xaml.Controls;
  11. using Windows.UI.Xaml.Controls.Primitives;
  12. using Windows.UI.Xaml.Data;
  13. using Windows.UI.Xaml.Input;
  14. using Windows.UI.Xaml.Media;
  15. using Windows.UI.Xaml.Navigation;
  16. using Windows.Devices.Geolocation;
  17. using Windows.Storage.Streams;
  18. using Windows.UI;
  19. using Windows.UI.Core;
  20. using Windows.UI.Xaml.Automation;
  21. using Windows.UI.Xaml.Controls.Maps;
  22. using Windows.UI.Xaml.Shapes;
  23. using Breda_Tour.Data_;
  24. // The Blank Page item template is documented at http://go.microsoft.com/fwlink/?LinkId=234238
  25. namespace Breda_Tour.MapScreen
  26. {
  27. /// <summary>
  28. /// An empty page that can be used on its own or navigated to within a Frame.
  29. /// </summary>
  30. public sealed partial class MapPage : Page
  31. {
  32. private MapIcon marker;
  33. private Geopoint point;
  34. private Gps gps;
  35. public MapPage()
  36. {
  37. marker = new MapIcon();
  38. marker.Image = RandomAccessStreamReference.CreateFromUri(new Uri("ms-appx:///Assets/Marker.png"));
  39. marker.NormalizedAnchorPoint = new Point(0.5, 0.5);
  40. gps = new Gps(this);
  41. gps.Start();
  42. this.InitializeComponent();
  43. }
  44. protected override void OnNavigatedTo(NavigationEventArgs e)
  45. {
  46. }
  47. public async void ShowLocaton(Geopoint point)
  48. {
  49. this.point = point;
  50. await Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
  51. {
  52. Map.Center = point;
  53. if (!Map.MapElements.Contains(marker))
  54. {
  55. Map.MapElements.Add(marker);
  56. }
  57. marker.Location = point;
  58. });
  59. await Map.TrySetViewAsync(point, 15);
  60. }
  61. }
  62. }