public override MKOverlayRenderer OverlayRenderer(MKMapView mapView, IMKOverlay overlayWrapper) { var type = overlayWrapper.GetType(); var overlay = overlayWrapper as IMKOverlay; if (overlay is MKPolyline || type == typeof(MKPolyline)) { if (polylineRenderer == null) { polylineRenderer = new MKPolylineRenderer(overlay as MKPolyline); //polylineRenderer.FillColor = UIColor.Blue; polylineRenderer.StrokeColor = UIColor.Red; polylineRenderer.LineWidth = 5; isLoaded = true; } return(polylineRenderer); } else if (overlay is MKCircle) { if (circleRenderer == null) { circleRenderer = new MKCircleRenderer(overlay as MKCircle); circleRenderer.FillColor = UIColor.Red; circleRenderer.Alpha = 0.2f; isLoaded = true; } return(circleRenderer); } return(base.OverlayRenderer(mapView, overlayWrapper)); }
public override MKOverlayView GetViewForOverlay(MKMapView mapView, IMKOverlay overlay) { if (overlay.GetType() != typeof(MKPolyline)) { return(null); } var pLineView = new MKPolylineView(overlay as MKPolyline) { LineWidth = _lineWidth, StrokeColor = _colorStroke }; return(pLineView); }
public override MKOverlayRenderer OverlayRenderer(MKMapView mapView, IMKOverlay overlay) { switch (overlay) { case MKPolygon polygon: var prenderer = new MKPolygonRenderer(polygon) { FillColor = UIColor.Red, StrokeColor = UIColor.Blue, Alpha = 0.4f, LineWidth = 9 }; return(prenderer); default: throw new Exception($"Not supported: {overlay.GetType()}"); } }
MKOverlayRenderer GetOverlayRenderer(MKMapView mapView, IMKOverlay overlayWrapper) { MKOverlayRenderer renderer = null; var overlay = Runtime.GetNSObject(overlayWrapper.Handle) as IMKOverlay; Type overlayType = overlayWrapper.GetType(); if (overlayType == typeof(MKCircle)) { MKCircleRenderer circleRenderer = new MKCircleRenderer(overlay as MKCircle) { FillColor = currentFillColor.ColorWithAlpha(0.1f), }; if (currentLineWidth != 0) { circleRenderer.StrokeColor = currentStrokeColor; circleRenderer.LineWidth = currentLineWidth; } renderer = circleRenderer; } else if (overlayType == typeof(MKPolyline)) { renderer = new MKPolylineRenderer(overlay as MKPolyline) { FillColor = currentFillColor, StrokeColor = currentStrokeColor, LineWidth = 3, Alpha = 0.4f }; } return(renderer); }