using System; using System.Collections.Generic; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using Syncfusion.SfMaps.XForms; using Xamarin.Forms; using Xamarin.Forms.Xaml; using Color = Xamarin.Forms.Color; using Point = Xamarin.Forms.Point; namespace comal.timesheets { [XamlCompilation(XamlCompilationOptions.Compile)] public partial class AssignmentMap : ContentView, IAssignmentPage { public AssignmentDetailModel DataModel => BindingContext as AssignmentDetailModel; public AssignmentMap() { InitializeComponent(); } public void Load() { if (DataModel.Coordinates.Equals(PointF.Empty)) { NoMap.IsVisible = true; Map.IsVisible = false; return; } NoMap.IsVisible = false; Map.IsVisible = true; Layer.GeoCoordinates = new Point(DataModel.Coordinates.Y, DataModel.Coordinates.X); Map.ZoomLevel = 14; if (Device.RuntimePlatform.Equals(Device.iOS)) { Layer.MarkerSettings.MarkerIcon = MapMarkerIcon.Circle; Layer.MarkerSettings.IconColor = Color.DarkBlue; Layer.MarkerSettings.IconSize = 15; } else { Layer.MarkerSettings.MarkerIcon = MapMarkerIcon.Image; Layer.MarkerSettings.ImageSource = "mapmarker.png"; Layer.MarkerSettings.IconSize = 35; } Layer.MarkerSettings.FontAttributes = FontAttributes.Bold; Layer.MarkerSettings.LabelSize = 20; Layer.MarkerSettings.LabelColor = Color.DarkBlue; MapMarker marker = new MapMarker(); marker.Label = ""; marker.Latitude = DataModel.Coordinates.Y.ToString(); marker.Longitude = DataModel.Coordinates.X.ToString(); Layer.Markers.Add(marker); } } }