Quantcast
Channel: GMap.NET - Great Maps for Windows Forms & Presentation
Viewing all articles
Browse latest Browse all 3384

New Post: Draw Range/Circle/Sine in GMap.net

$
0
0
Here is a Circle Marker with the circle diameter set in meters. I posted this code here some years back.

Cheers.
namespace GMap.NET.WindowsForms.Markers
{

    public class GMapMarkerCircle : GMapMarker
    {
        public int Radius;
        public Pen OutlinePen;
        public Brush FillBrush;
        public bool Fill;

        public GMapMarkerCircle(PointLatLng p)
            : base(p)
        {
            OutlinePen = new Pen(Brushes.Orange, 2);
            FillBrush = new SolidBrush(Color.FromArgb(60, Color.Orange));
            Radius = 0;
        }

        public override void OnRender(Graphics g)
        {
            g.SmoothingMode = SmoothingMode.AntiAlias;
            
            int R = (int)((Radius) / Overlay.Control.Core.Projection.GetGroundResolution(Overlay.Control.Zoom, Position.Lat)) * 2;
            
            if (Fill == true)
            {
               g.FillEllipse(FillBrush, new System.Drawing.Rectangle(LocalPosition.X - R / 2, LocalPosition.Y - R / 2, R, R));
            }
            g.DrawEllipse(OutlinePen, new System.Drawing.Rectangle(LocalPosition.X - R / 2, LocalPosition.Y - R / 2, R, R));
        }
    }
}

Viewing all articles
Browse latest Browse all 3384

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>