Virtual Earth - 3-D Maps & API

It's been a long time secret, but November 6, 2006 marks the day that Microsoft changed the world (or at least the Virtual Earth). We've launched our 3-D mapping system on our consumer site and it is fan-frickentastic. You'll never want a flat map again. Check out the consumer site here: or here:

 What does a 3-D map mean?  

  • We now have all of the digital elevation models included in the map which pushes up Mount McKinley and pushes down The Grand Canyon.
  • We have buildings in 15 major cities including Atlanta, Baltimore, Boston, Dallas, Denver, Detroit, Fort Worth, Houston, Las Vegas, Los Angeles, Philadelphia, Phoenix, San Francisco, San Jose, and Seattle. You may see a building here or there (like Salt Lake City), but full models in all major cities are on the horizon!
  • Not only do we have buildings we have textured buildings. That means the buildings look like the actually building and not just a blobulous representation of where the building should be.
  • The 3-D world is completely browser-based! You don't need to download any client software; you need only install a small Direct-X script and suddenly you're flying!
  • 3-D is not considered a map style; it is considered a map mode. So, you can see Road, Aerial and Hybrid maps in both 2D and 3D mode.


I want that! Well, you can have it too! Our 3-D maps are accessible via the JavaScript API. This release is considered Version 4. 3-D is only available in Version 4. Good news is that Version 4 is backwards compatible with Version 3.1, so the upgrade path is very easy. As a side note, if you're running Virtual Earth Version 3.1 you will be automatically upgraded to Version 3.2. Back to the 3-D API . . . here are the methods available respective to the 3-D launch:

VEMap.LoadMap (updated) - Includes parameter for setting map mode and enabling toggling between 2D and 3D
VEDashboardSize enum (new) - ???
VELatLongRectangle (updated) - Provides the upper right and lower left since you won't always be returning a square. If you tilt 3-D enough you could end up getting points in space so you would essentially get all 4 points (top left, right; bottom left, right) to create an trapezoid.
VEMap.DisambiguationCallback (new) - Specifies the callback function to use when multiple results are returned from a location search.
VEMap.GetAltitude (new) - In 3D mode, returns a double that represents the altitude (in meters) above the geoid.
VEMap.GetHeading (new) - In 3D mode, returns an integer that represents the compass heading of the current map view.
VEMap.GetMapMode (new) - Returns the current map mode.
VEMap.GetPitch (new) - In 3D mode, returns an integer that represents the pitch of the current map view.
VEMap.Hide3DNavigationControl (new) - In 3D mode, hides the default user interface for controlling the map in 3D mode. By default, this control is shown.
VEMap.SetAltitude (new) - In 3D mode, sets the altitude (in meters) above the geoid in the map view.
VEMap.SetDashboardSize (new) - ???
VEMap.SetHeading (new) - In 3D mode, sets the compass heading of the current map view.
VEMap.SetMapMode (new) - Sets the mode of the map.
VEMap.SetMapView (updated) - Sets the map view to include all of the points, lines, or polygons specified in the provided array, or to the view defined by a VEMapViewSpecification object. In 2D mode, an array of points, lines, or polygons. You can pass an array of VELatLong, VEPolyline, or VEPolygon objects. In 3D mode, can also be a VEMapViewSpecification object.
VEMap.SetPitch (new) - In 3D mode, sets the pitch of the current map view.
VEMap.Show3DNavigationControl (new) - In 3D mode, shows the default user interface for controlling the map in 3D mode. By default, this control is shown.
VEMap.ShowDisambiguationDialog (new) - Specifies whether the default disambiguation dialog is displayed when multiple results are returned from a location query.
VEMapMode enumeration (new) - An enumeration of map modes (VEMapMode.Mode2D or VEMapMode.Mode3D).
VEMapViewSpecification (new) - Contains the information about a map view. The map view includes the center point and zoom level of the map. If the map is in 3D mode, the map view also includes the altitude, pitch, and heading of the view.
oninitmode event (new) - Occurs after the map mode changes and the map has reloaded.
onmodenotavailable event (new) - Occurs when the map mode fails to change to 3D mode.


Camera - Your view of the 3-D world (through a metaphorical camera).

Heading - The direction the camera is facing (north, east, south, west).

Pitch - The angle of the camera (45 degrees, 90 degrees).

Map Mode - The type of mapping environment you're in - 2D - top down; 3-D all around!

Sick, sick, sick. Note: This is not recommended for you 56k modem users who "like things they way they were." Time to upgrade to broadband (and the new map system)!