AssignmentEditMapView.xaml.cs 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Drawing;
  4. using System.Globalization;
  5. using System.Linq;
  6. using System.Text;
  7. using System.Threading.Tasks;
  8. using Syncfusion.SfMaps.XForms;
  9. using Xamarin.Forms;
  10. using Xamarin.Forms.Xaml;
  11. using Color = Xamarin.Forms.Color;
  12. using Point = Xamarin.Forms.Point;
  13. namespace PRS.Mobile
  14. {
  15. [XamlCompilation(XamlCompilationOptions.Compile)]
  16. public partial class AssignmentEditMapView : AssignmentEditView
  17. {
  18. public AssignmentEditMapView()
  19. {
  20. InitializeComponent();
  21. }
  22. public override void Refresh()
  23. {
  24. if (ViewModel == null || ViewModel.Coordinates.Equals(Point.Zero))
  25. {
  26. NoMap.IsVisible = true;
  27. Map.IsVisible = false;
  28. return;
  29. }
  30. NoMap.IsVisible = false;
  31. Map.IsVisible = true;
  32. Layer.GeoCoordinates = ViewModel.Coordinates;
  33. Map.ZoomLevel = 14;
  34. MapMarker marker = new MapMarker();
  35. marker.Label = " ";
  36. marker.Latitude = ViewModel.Coordinates.Y.ToString(CultureInfo.InvariantCulture);
  37. marker.Longitude = ViewModel.Coordinates.X.ToString(CultureInfo.InvariantCulture);
  38. Layer.Markers.Add(marker);
  39. Layer.LatLngBounds =
  40. new LatLngBounds(new Position(ViewModel.Coordinates.Y + 0.002F, ViewModel.Coordinates.X - 0.002F),
  41. new Position(ViewModel.Coordinates.Y - 0.002F, ViewModel.Coordinates.X + 0.002F));
  42. }
  43. }
  44. }