protected Line CreatePolyline(MapPos start, MapPos end, RoutingResult result)
        {
            LineStyleBuilder lineStyleBuilder = new LineStyleBuilder();

            Carto.Graphics.Color darkGray = new Carto.Graphics.Color(49, 79, 79, 255);
            lineStyleBuilder.Color = darkGray;
            lineStyleBuilder.Width = 12;

            return(new Line(result.Points, lineStyleBuilder.BuildStyle()));
        }
        public static UIKit.UIColor ToNativeColor(this Carto.Graphics.Color Color)
        {
            var red   = (int)Color.R;
            var green = (int)Color.G;
            var blue  = (int)Color.B;
            var alpha = (int)Color.A;

            var color = UIKit.UIColor.FromRGBA(red, green, blue, alpha);

            return(color);
        }
        public static void SetSourcesAndElements(this Routing Routing, Context context)
        {
            Carto.Graphics.Bitmap olmarker         = CreateBitmap(context, Resource.Drawable.olmarker);
            Carto.Graphics.Bitmap directionUp      = CreateBitmap(context, Resource.Drawable.direction_up);
            Carto.Graphics.Bitmap directionUpLeft  = CreateBitmap(context, Resource.Drawable.direction_upthenleft);
            Carto.Graphics.Bitmap directionUpRight = CreateBitmap(context, Resource.Drawable.direction_upthenright);

            Carto.Graphics.Color green = new Carto.Graphics.Color(Android.Graphics.Color.Green);
            Carto.Graphics.Color red   = new Carto.Graphics.Color(Android.Graphics.Color.Red);
            Carto.Graphics.Color white = new Carto.Graphics.Color(Android.Graphics.Color.White);

            Routing.SetSourcesAndElements(olmarker, directionUp, directionUpLeft, directionUpRight, green, red, white);
        }
        public static void ShowResult(this LocalVectorDataSource source, MapView map, GeocodingResult result, string title, string description, bool goToPosition)
        {
            source.Clear();

            var builder = new BalloonPopupStyleBuilder();

            builder.LeftMargins  = new BalloonPopupMargins(0, 0, 0, 0);
            builder.TitleMargins = new BalloonPopupMargins(6, 3, 6, 3);
            builder.CornerRadius = 5;
            // Make sure this label is shown on top of all other labels
            builder.PlacementPriority = 10;

            FeatureCollection collection = result.FeatureCollection;
            int count = collection.FeatureCount;

            MapPos   position = new MapPos();
            Geometry geometry;

            for (int i = 0; i < count; i++)
            {
                geometry = collection.GetFeature(i).Geometry;
                var color = new Carto.Graphics.Color(0, 100, 200, 150);

                var pointBuilder = new PointStyleBuilder();
                pointBuilder.Color = color;

                var lineBuilder = new LineStyleBuilder();
                lineBuilder.Color = color;

                var polygonBuilder = new PolygonStyleBuilder();
                polygonBuilder.Color = color;

                VectorElement element = null;

                if (geometry is PointGeometry)
                {
                    element = new Point(geometry as PointGeometry, pointBuilder.BuildStyle());
                }
                else if (geometry is LineGeometry)
                {
                    element = new Line(geometry as LineGeometry, lineBuilder.BuildStyle());
                }
                else if (geometry is PolygonGeometry)
                {
                    element = new Polygon(geometry as PolygonGeometry, polygonBuilder.BuildStyle());
                }
                else if (geometry is MultiGeometry)
                {
                    var collectionBuilder = new GeometryCollectionStyleBuilder();
                    collectionBuilder.PointStyle   = pointBuilder.BuildStyle();
                    collectionBuilder.LineStyle    = lineBuilder.BuildStyle();
                    collectionBuilder.PolygonStyle = polygonBuilder.BuildStyle();

                    element = new GeometryCollection(geometry as MultiGeometry, collectionBuilder.BuildStyle());
                }

                if (element != null)
                {
                    position = geometry.CenterPos;
                    source.Add(element);
                }
            }

            if (goToPosition)
            {
                map.SetFocusPos(position, 1.0f);
                map.SetZoom(16, 1.0f);
            }

            var popup = new BalloonPopup(position, builder.BuildStyle(), title, description);

            source.Add(popup);
        }
Пример #5
0
 public static Color ToNativeColor(this Carto.Graphics.Color color)
 {
     return Color.Argb(color.A, color.R, color.G, color.B);
 }