コード例 #1
0
 public override MKOverlayRenderer OverlayRenderer(MKMapView mapView, IMKOverlay overlay)
 {
     if (overlay is MKTileOverlay)
     {
         var renderer = new MKTileOverlayRenderer((MKTileOverlay)overlay);
         return(renderer);
     }
     else
     {
         return(null);
     }
 }
コード例 #2
0
        /// <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);
        }
コード例 #3
0
ファイル: IosMapRenderer.cs プロジェクト: HiP-App/HiP-Forms
        /// <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);
        }