public override void OnRender(Graphics g)
{
base.OnRender(g);
if (wprad == 0 || Overlay.Control == null)
return;
// if we have drawn it, then keep that color
if (!initcolor.HasValue)
Color = Color.White;
// undo autochange in mouse over
//if (Pen.Color == Color.Blue)
// Pen.Color = Color.White;
double width =
(Overlay.Control.MapProvider.Projection.GetDistance(Overlay.Control.FromLocalToLatLng(0, 0),
Overlay.Control.FromLocalToLatLng(Overlay.Control.Width, 0))*1000.0);
double height =
(Overlay.Control.MapProvider.Projection.GetDistance(Overlay.Control.FromLocalToLatLng(0, 0),
Overlay.Control.FromLocalToLatLng(Overlay.Control.Height, 0))*1000.0);
double m2pixelwidth = Overlay.Control.Width/width;
double m2pixelheight = Overlay.Control.Height/height;
GPoint loc = new GPoint((int) (LocalPosition.X - (m2pixelwidth*wprad*2)), LocalPosition.Y);
// MainMap.FromLatLngToLocal(wpradposition);
if (m2pixelheight > 0.5 && !double.IsInfinity(m2pixelheight))
g.DrawArc(Pen,
new System.Drawing.Rectangle(
LocalPosition.X - Offset.X - (int) (Math.Abs(loc.X - LocalPosition.X)/2),
LocalPosition.Y - Offset.Y - (int) Math.Abs(loc.X - LocalPosition.X)/2,
(int) Math.Abs(loc.X - LocalPosition.X), (int) Math.Abs(loc.X - LocalPosition.X)), 0, 360);
}
}