Customizing DeepEarth

Jan 19, 2009 at 4:44 AM
I need to use Deep Earth (that is based on Virtual Earth) in one of my silverlight projects. I understand that it uses MapPoint Web Service in background. I am very new to this service and as such need some guidance. I am looking to do the following:
1. Programatically I want to zoom on a location based on the location name or
latitude/longitude.
2. CHange the background color (or theme of the map). In Deep Earth, I see it is black. I want to change the color of the seas to be white so that it can gel with the overall branding of the site.
3. Enable/Disable Zoom (programatically)
4. Show the latitude and longitude scale.

Pankaj.
Coordinator
Jan 19, 2009 at 12:24 PM
DeepEarth provides a powerful mapping control, one of the providers it supports is Virtual Earth via the Virtula Earth Web Service (VEWS) that supercedes the old MapPoint Service.
The control is still under development with our first release V1 the most stable for you to use until our V1.1 release very soon.

If you take a look at the "prototype" project you can see much of the functionlity you have asked for, some of it is not currently possible but could make a great suggestion for us to add.

1) You can use the public properties "ZoomLevel" and "GeoCenter" to set the center and zoom, for Latitude/longitude we use the Point class and to keep with x,y convention it is Longitude,Latitude. In order to centre based on textual address you need to use the VE geocode method, it is async. Follow the prototype examples for more.

2) Each TileSource has a TileColor that is the background colour but this is set as part of the specification for each tileset. The overal control can be themed by suppling your own XAML following the elements templated in the generic.xaml

3) We have not supported this as yet, give us a good example of why you would do this and add as a feature request in the Issue Tracker.

4) We have a scale shown in the bottom right corner currently, let me know exactly what you would like.
Jan 21, 2009 at 5:19 AM
Can you provide with more information to change the background color of the map. Currently when the mapmode is Hybrid the color of the map is Black and when mapmode is Road the color is light blue. How can the map color be modified for various modes. 
Coordinator
Jan 21, 2009 at 9:20 PM
Edited Jan 21, 2009 at 9:22 PM

The color is  property of each TileSource, the base class has:
public

virtual Color TileColor { get { return Colors.Transparent; } }

VE for exmaple overrides this with:

public override Color TileColor
{
get
{
Color backColor = Colors.Black;
switch (_MapMode)
{
case VeMapModes.VeAerial:
case VeMapModes.VeHybrid:
backColor =
Color.FromArgb(0xFF, 0x01, 0x04, 0x13);
break;
case VeMapModes.VeRoad:
backColor =
Color.FromArgb(0xFF, 0xB2, 0xC5, 0xD3);
break;
}
return backColor;
}
}

It is read only, to override it however you could inherit from  VeTileSource and overide, create your own tilesource or change your copy of the code.

John.