Exemplo n.º 1
0
        protected override void OnItemPropertyChanged(object sender, PropertyChangedEventArgs e)
        {
            Circle    item   = (Circle)sender;
            BMKCircle native = (BMKCircle)item?.NativeObject;

            if (null == native)
            {
                return;
            }

            if (Annotation.TitleProperty.PropertyName == e.PropertyName)
            {
                native.Title = item.Title;
                return;
            }

            if (Annotation.CoordinateProperty.PropertyName == e.PropertyName)
            {
                native.Coordinate = item.Coordinate.ToNative();
                return;
            }

            if (Circle.RadiusProperty.PropertyName == e.PropertyName)
            {
                native.Radius = item.Radius;
                return;
            }

            if (Circle.WidthProperty.PropertyName == e.PropertyName)
            {
                BMKCircleView view = (BMKCircleView)NativeMap.ViewForAnnotation(native);
                if (view != null)
                {
                    view.LineWidth = item.Width;
                }
                return;
            }

            if (Circle.ColorProperty.PropertyName == e.PropertyName)
            {
                BMKCircleView view = (BMKCircleView)NativeMap.ViewForAnnotation(native);
                if (view != null)
                {
                    view.StrokeColor = item.Color.ToUIColor();
                }
                return;
            }

            if (Circle.FillColorProperty.PropertyName == e.PropertyName)
            {
                BMKCircleView view = (BMKCircleView)NativeMap.ViewForAnnotation(native);
                if (view != null)
                {
                    view.FillColor = item.Color.ToUIColor();
                }
                return;
            }
        }
Exemplo n.º 2
0
            public override BMKOverlayView ViewForOverlay(BMKMapView mapView, BMKOverlay overlay)
            {
                if (typeof(BMKPolyline) == overlay.GetType())
                {
                    Polyline poly = map.Map.Polylines.Find(overlay);
                    if (null != poly)
                    {
                        BMKPolylineView view = new BMKPolylineView(overlay);
                        view.StrokeColor = poly.Color.ToUIColor();
                        view.LineWidth   = poly.Width;

                        return(view);
                    }
                }
                else if (typeof(BMKPolygon) == overlay.GetType())
                {
                    Polygon poly = map.Map.Polygons.Find(overlay);
                    if (null != poly)
                    {
                        BMKPolygonView view = new BMKPolygonView(overlay);
                        view.StrokeColor = poly.Color.ToUIColor();
                        view.FillColor   = poly.FillColor.ToUIColor();
                        view.LineWidth   = poly.Width;

                        return(view);
                    }
                }
                else if (typeof(BMKCircle) == overlay.GetType())
                {
                    Circle circle = map.Map.Circles.Find(overlay);
                    if (null != circle)
                    {
                        BMKCircleView view = new BMKCircleView(overlay);
                        view.StrokeColor = circle.Color.ToUIColor();
                        view.FillColor   = circle.FillColor.ToUIColor();
                        view.LineWidth   = circle.Width;

                        return(view);
                    }
                }

                Debug.WriteLine("MapViewViewForOverlay: " + overlay.GetType());
                return(null);
            }