Ryan & David,
Thanks for your sample and helps, I appreciate it very much. Sorry for the delay replying for some problem in the discussion forum in the past few days.
I did some research without any good luck; I found even thought I change the position of the circle from left as following, it seems still does not work:
protected override void DrawCore(GeoCanvas canvas, Collection<SimpleCandidate> labelsInAllLayers)
{
int compassX = 0;
int compassY = 16 + (32 / 2);
float widht = canvas.Width / 715 * 60;
canvas.DrawEllipse(new Feature(ExtentHelper.ToWorldCoordinate(canvas.CurrentWorldExtent, new ScreenPointF(compassX, compassY), canvas.Width, canvas.Height)), widht, widht, new GeoPen(GeoColor.StandardColors.Black), new GeoSolidBrush(GeoColor.FromArgb(150, GeoColor.StandardColors.White)), DrawingLevel.LevelOne);
//int compassX = (int)canvas.Width - (16 / 2) - 26;
//int compassY = 16 + (32 / 2);
//float widht = canvas.Width / 715 * 60;
//canvas.DrawEllipse(new Feature(ExtentHelper.ToWorldCoordinate(canvas.CurrentWorldExtent, new ScreenPointF(compassX, compassY), canvas.Width, canvas.Height)), widht, widht, new GeoPen(GeoColor.StandardColors.Black), new GeoSolidBrush(GeoColor.FromArgb(150, GeoColor.StandardColors.White)), DrawingLevel.LevelOne);
}
I will do more research on this to see if we can find a solution and let you know as soon as possible.
Any more questions just feel free to let me know.
Thanks.
Yale