Пример #1
0
            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);
        }
Пример #3
0
        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()}");
            }
        }
Пример #4
0
        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);
        }