AssignmentMap.xaml.cs 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Drawing;
  4. using System.Linq;
  5. using System.Text;
  6. using System.Threading.Tasks;
  7. using Syncfusion.SfMaps.XForms;
  8. using Xamarin.Forms;
  9. using Xamarin.Forms.Xaml;
  10. using Color = Xamarin.Forms.Color;
  11. using Point = Xamarin.Forms.Point;
  12. namespace comal.timesheets
  13. {
  14. [XamlCompilation(XamlCompilationOptions.Compile)]
  15. public partial class AssignmentMap : ContentView, IAssignmentPage
  16. {
  17. public AssignmentEditDataModel DataModel => BindingContext as AssignmentEditDataModel;
  18. public AssignmentMap()
  19. {
  20. InitializeComponent();
  21. }
  22. public void Load()
  23. {
  24. if (DataModel.Coordinates.Equals(PointF.Empty))
  25. {
  26. NoMap.IsVisible = true;
  27. Map.IsVisible = false;
  28. return;
  29. }
  30. NoMap.IsVisible = false;
  31. Map.IsVisible = true;
  32. Layer.GeoCoordinates = new Point(DataModel.Coordinates.Y, DataModel.Coordinates.X);
  33. Map.ZoomLevel = 14;
  34. if (Device.RuntimePlatform.Equals(Device.iOS))
  35. {
  36. Layer.MarkerSettings.MarkerIcon = MapMarkerIcon.Circle;
  37. Layer.MarkerSettings.IconColor = Color.DarkBlue;
  38. Layer.MarkerSettings.IconSize = 15;
  39. }
  40. else
  41. {
  42. Layer.MarkerSettings.MarkerIcon = MapMarkerIcon.Image;
  43. Layer.MarkerSettings.ImageSource = "mapmarker.png";
  44. Layer.MarkerSettings.IconSize = 35;
  45. }
  46. Layer.MarkerSettings.FontAttributes = FontAttributes.Bold;
  47. Layer.MarkerSettings.LabelSize = 20;
  48. Layer.MarkerSettings.LabelColor = Color.DarkBlue;
  49. MapMarker marker = new MapMarker();
  50. marker.Label = "";
  51. marker.Latitude = DataModel.Coordinates.Y.ToString();
  52. marker.Longitude = DataModel.Coordinates.X.ToString();
  53. Layer.Markers.Add(marker);
  54. }
  55. }
  56. }