public override MKOverlayRenderer OverlayRenderer(MKMapView mapView, IMKOverlay overlay) { if (overlay is MKTileOverlay) { var renderer = new MKTileOverlayRenderer((MKTileOverlay)overlay); return(renderer); } else { return(null); } }
/// <summary> /// Gets the overlay renderer for the given overlay. /// </summary> /// <param name="mapView">The instance of the mapview.</param> /// <param name="overlay">The instance of the overlay.</param> /// <returns>The corresponding overlay renderer.</returns> private MKOverlayRenderer OverlayRenderer(MKMapView mapView, IMKOverlay overlay) { var tileOverlay = ObjCRuntime.Runtime.GetNSObject(overlay.Handle) as MKTileOverlay; if (tileOverlay != null) { var renderer = new MKTileOverlayRenderer(tileOverlay); return(renderer); } if (overlay is MKPolyline) { var resources = IoCManager.Resolve <ApplicationResourcesProvider>(); MKPolylineRenderer polylineRenderer; if (overlay.Equals(currentSectionPolyLine)) { UIColor color = ((Color)resources.GetResourceValue("AccentColor")).ToUIColor(); polylineRenderer = new MKPolylineRenderer((MKPolyline)overlay) { FillColor = color, StrokeColor = color, LineWidth = 2f }; } else { UIColor color = ((Color)resources.GetResourceValue("PrimaryColor")).ToUIColor(); polylineRenderer = new MKPolylineRenderer((MKPolyline)overlay) { FillColor = color, StrokeColor = color, LineWidth = 2f }; } return(polylineRenderer); } return(null); }
/// <summary> /// Gets the overlay renderer for the given overlay. /// </summary> /// <param name="mapView">The instance of the mapview.</param> /// <param name="overlay">The instance of the overlay.</param> /// <returns>The corresponding overlay renderer.</returns> private MKOverlayRenderer OverlayRenderer(MKMapView mapView, IMKOverlay overlay) { if (ObjCRuntime.Runtime.GetNSObject(overlay.Handle) is MKTileOverlay tileOverlay) { var renderer = new MKTileOverlayRenderer(tileOverlay); return(renderer); } if (overlay is MKPolyline polyline) { var resources = IoCManager.Resolve <ApplicationResourcesProvider>(); MKPolylineRenderer polylineRenderer; if (polyline.Equals(currentSectionPolyLine)) { var color = (resources.TryGetResourceColorvalue("SecondaryColor")).ToUIColor(); polylineRenderer = new MKPolylineRenderer(polyline) { FillColor = color, StrokeColor = color, LineWidth = 2f }; } else { var color = (resources.TryGetResourceColorvalue("PrimaryColor")).ToUIColor(); polylineRenderer = new MKPolylineRenderer(polyline) { FillColor = color, StrokeColor = color, LineWidth = 2f }; } return(polylineRenderer); } return(null); }