Hi Ben,
After many iterations I found a work-around. See the source code shown below. The main trick is the call of ZoomToScale.
Please update your "How Do I" test application :-)
And now the final question: Do you know which coordinate system VirtualEarthLayer is using ?
Best regards
Niels Olsen
// Please set your own information about those parameters below.
string accountId = "xxxxx";
string password = "xxxxxx";
string clientIpAddress = "10.1.xx.xx";
string cacheDirectory = @"c:\temp\";
VirtualEarthLayer worldLayer = new VirtualEarthLayer(accountId, password, clientIpAddress, cacheDirectory);
LayerOverlay staticOverlay = new LayerOverlay();
staticOverlay.Layers.Add("WorldLayer", worldLayer);
winformsMap1.Overlays.Add(staticOverlay);
winformsMap1.MapUnit = GeographyUnit.Meter;
winformsMap1.BackgroundOverlay.BackgroundBrush = new GeoSolidBrush(GeoColor.GeographicColors.ShallowOcean);
winformsMap1.CurrentExtent = new RectangleShape(-10000000, 10000000, 10000000, -10000000);
GoogleMapZoomLevelSet zoomLevelSet = new GoogleMapZoomLevelSet();
zoomLevelSet.ZoomLevel01.ApplyUntilZoomLevel = ApplyUntilZoomLevel.Level20;
winformsMap1.ZoomLevelSet = zoomLevelSet;
double scale = ExtentHelper.GetScale(winformsMap1.CurrentExtent, (float)winformsMap1.Width, winformsMap1.MapUnit);
winformsMap1.ZoomToScale(scale);
winformsMap1.Refresh();