Ejemplo n.º 1
0
        private void DrawCircle(Canvas canvas, TileSchema schema, ITransform transform, List <BruTile.UI.Ellipse> cache, Extent extent, int level)
        {
            foreach (var ellipse in cache)
            {
                double xt = ellipse.X;
                double yt = ellipse.Y;

                double radiust = transform.RadiusToMap(ellipse.Radius);
                Circle circle  = new Circle()
                {
                    Width           = radiust,
                    Height          = radiust,
                    StrokeThickness = 2,
                };
                if (ellipse.Type == Ellipse.ZoneType.Red_Zone)
                {
                    circle.Stroke = Brushes.Red;
                    // circle.Fill = Brushes.Red;
                }
                else
                {
                    //  circle.Fill = Brushes.Blue;
                    circle.Stroke = Brushes.Blue;
                }
                if (!canvas.Children.Contains(circle))
                {
                    canvas.Children.Add(circle);
                }

                Rect  dest = MapTransformHelper.WorldToMap(extent, transform);
                Point p    = transform.WorldToMap(xt, yt);

                if (dest.Contains(p))
                {
                    Canvas.SetZIndex(circle, 200);
                    Canvas.SetLeft(circle, p.X);
                    Canvas.SetTop(circle, p.Y);
                }
            }
        }