Redesign the Virtual Earth Dashboard

PLEASE NOTE: This article refers to an old version of Virtual Earth. The technique shown is not recommended as it will not be easily upgraded to the latest version. The recommended approach is to create a completely custom dashboard. I will post an example of this in comming weeks - John.

Virtual Earth comes with a full featured control panel called the "Dashboard". You can turn the dashboard off and design your own completely custom controls:

map.HideDashboard();

But this is a large amount of work, for most of us simply changing the colours and icons of the exisiting dashboard would be sufficent. But working out what the classes are and the icons that are used is a time consuming and error prone task. Until now....

In this article i go through all the elements of the dashboard and document the IDs, classes and filenames used.

Dashboards

The frame

The dashboard itself is given an ID with the name you gave your map DIV appended to the start. So if your map Div was called "myMap" the dashboard div is: "myMap_dashboard"

The dashboard has two parts, the top "navAction_header" and the bottom "dashboardContainerDiv"

Element Filename ID CSS Notes
navAction_header HeaderBackGroundGraphic.gif navAction_header header with3D Border set in css
dashboardContainerDiv na dashboardContainerDiv dashboardContainerDiv Border is set in css (no top)

Scale bar

The scalebar has two different modes, Ortho (normal) and Oblique (birdseye). The scalebar is essentially an image with another image for the slider and two images for the plus and minus rollover states

Ortho (normal)

Element Filename ID CSS Notes
ZoomBarOrthoBackground ZoomBarOrthoBackground.gif OrthoZoomBar (image set as background) ZoomBar Notice the plus and minus are actaully part of the zoombar
ZoomPlusHover ZoomPlusHover.gif #navAction_obliqueZoomBar_plus:hover ZoomBar_plus Same graphic is used in Oblique mode
ZoomMinusHover ZoomMinusHover.gif #navAction_obliqueZoomBar_minus:hover ZoomBar_minus Same graphic is used in Oblique mode
ZoomThumb ZoomThumb.gif navAction_orthoZoomBar_slider ZoomBar_slider Same graphic is used in Oblique mode
ZoomThumbHover ZoomThumbHover.gif #navAction_obliqueZoomBar_slider:hover ZoomBar_slider Same graphic is used in Oblique mode

Oblique (birdseye)

Element Filename ID CSS Notes
ZoomBarObliqueBackground ZoomBarObliqueBackground.gif ObliqueZoomBar ZoomBar Notice the plus and minus are actaully part of the zoombar
ZoomPlusHover ZoomPlusHover.gif #navAction_obliqueZoomBar_plus:hover ZoomBar_plus Same graphic is used in Oblique mode
ZoomMinusHover ZoomMinusHover.gif #navAction_obliqueZoomBar_minus:hover ZoomBar_minus Same graphic is used in Oblique mode
ZoomThumb ZoomThumb.gif navAction_orthoZoomBar_slider ZoomBar_slider Same graphic is used in Oblique mode
ZoomThumbHover ZoomThumbHover.gif #navAction_obliqueZoomBar_slider:hover ZoomBar_slider Same graphic is used in Oblique mode

2D / 3D buttons

These button are actually html with rollover and selected state getting a background

Element Filename ID CSS Notes
XDButton XDButtonHover XDButton.gif, XDButtonHover.gif (see below) MapMode Background gradients for buttons
2D none, XDButton.gif, XDButtonHover.gif navAction_FlatlandMapMode, #navAction_FlatlandMapMode:hover (hover), div.FlatlandMapMode #navAction_FlatlandMapMode (selected) MapMode (off) 3 states
3D none, XDButton.gif, XDButtonHover.gif navAction_View3DMapMode, #navAction_View3DMapMode:hover (hover), div.View3DMapMode #navAction_View3DMapMode (selected) MapMode (off) 3 states

Road / Aerial / Hybrid buttons

These buttons are simple css, with the usual 3 states

Element Filename ID CSS Notes
Road na navAction_RoadMapStyle, .Dashboard #navAction_RoadMapStyle:hover (hover), #navAction_mapStyleCell.RoadMapStyle #navAction_RoadMapStyle (selected) MapStyle (off) 3 states
Aerial na navAction_AerialMapStyle, .Dashboard #navAction_AerialMapStyle:hover (hover), #navAction_mapStyleCell.AerialMapStyle #navAction_AerialMapStyle (selected) MapStyle (off) 3 states
Hybrid na navAction_HybridMapStyle, .Dashboard #navAction_HybridMapStyle:hover (hover), #navAction_mapStyleCell.HybridMapStyle #navAction_HybridMapStyle (selected) MapStyle (off) 3 states

Normal / Birdseye selection

These button control switching from Normal (ortho) to Birdseye (oblique). They both have the usual 3 states but the birdseye has a 4th state of disabled

Element Filename ID CSS Notes
2DOrthoIconUp 2DOrthoIconUp.gif navAction_OrthoMapView div.FlatlandMapMode #navAction_OrthoMapView Normal state (ie in birdseye mode)
2DOrthoIconHover 2DOrthoIconHover.gif navAction_OrthoMapView div.FlatlandMapMode #navAction_OrthoMapView:hover Hover state
2DOrthoIconCurrent 2DOrthoIconCurrent.gif navAction_OrthoMapView div.FlatlandMapMode #navAction_mapViewCell.OrthoView #navAction_OrthoMapView Selected state
BirdsEyeIconGray BirdsEyeIconGray.gif navAction_ObliqueMapView .ObliqueMapView_disabled Disabled state (ie no birdseye available)
BirdsEyeIconUp BirdsEyeIconUp.gif navAction_ObliqueMapView div.FlatlandMapMode #navAction_ObliqueMapView Normal state (ie not in birdseye mode)
BirdsEyeIconHover BirdsEyeIconHover.gif navAction_ObliqueMapView div.FlatlandMapMode #navAction_mapViewCell.OrthoView #navAction_ObliqueMapView:hover Hover state
BirdsEyeIconCurrent BirdsEyeIconCurrent.gif navAction_ObliqueMapView div.FlatlandMapMode #navAction_mapViewCell.ObliqueView #navAction_ObliqueMapView Selected state

3D mode view buttons

When in 3D mode these button allow you to adjust your view. They have a rollover but no selected state.

Element Filename ID CSS Notes
OrthoIconUP OrthoIconUP.gif navAction_OrthoMapView div.View3DMapMode #navAction_OrthoMapView Normal
OrthoIconCurrentHover OrthoIconCurrentHover.gif navAction_OrthoMapView div.View3DMapMode #navAction_OrthoMapView:hover Hover
ObliqueIconUP ObliqueIconUP.gif navAction_ObliqueMapView div.View3DMapMode #navAction_ObliqueMapView Normal
ObliqueIconCurrentHover ObliqueIconCurrentHover.gif navAction_ObliqueMapView div.View3DMapMode #navAction_ObliqueMapView:hover Hover
StreetsideIconUP StreetsideIconUP.gif navAction_StreetSideMapView .StreetSideMapView Normal
StreetsideIconOver StreetsideIconOver.gif navAction_StreetSideMapView #navAction_StreetSideMapView:hover Hover - different conventions for some reason?

Birdseye Directions

The control is actually quite simply when you break it apart. It consists of a background, an arrow with 4 directions and three states for the NSEW labels

Element Filename ID CSS Notes
compass_bg compass_bg.gif obliqueCompassContainer #obliqueCompassContainer compass background
circle_disabled circle_disabled.gif obliqueCompassPointN, obliqueCompassPointS, obliqueCompassPointE, obliqueCompassPointW .obliqueCompassPointOff (Selected) Each of the labels is simply changed css classes
circle_enabled circle_enabled.gif obliqueCompassPointN, obliqueCompassPointS, obliqueCompassPointE, obliqueCompassPointW .obliqueCompassPointOn Each of the labels is simply changed css classes
circle_hover circle_hover.gif obliqueCompassPointN, obliqueCompassPointS, obliqueCompassPointE, obliqueCompassPointW .obliqueCompassPointHover Each of the labels is simply changed css classes
arrow_u arrow_u.gif (no ID on div!) .obliqueCompassArrowU The same div is simply changed css classes
arrow_d arrow_d.gif (no ID on div!) .obliqueCompassArrowD The same div is simply changed css classes
arrow_l arrow_l.gif (no ID on div!) .obliqueCompassArrowL The same div is simply changed css classes
arrow_r arrow_r.gif (no ID on div!) .obliqueCompassArrowR The same div is simply changed css classes

Conclusions

Hopefully this article will arm you with the reference you need to go and create amazing dashboards for your current VE project. Please post your links on my blog to show off what you have acheived!


Subscribe

Please use the Manage Form Option to Develop your Form
Submit
*Required

Copyright © 2002-2009 Soul Solutions Pty Ltd. | Login