BB10 * Live Platform:Deep Dive on Virtual Earth

BB10
 Mark Brown
Sr. Product Manager
Virtual Earth
Microsoft Corporation








Maps.Live.c
om
Your
Application
Virtual Earth Platform (AJAX Control & Virtual Earth Web Services)
Map Data
Tiles
Imagery
Tiles
Elevation
and 3D
Models
Search
Geocoding
Yellow
Pages /
POI data
Traffic
Data
Routing and
Data
Directions Services &
Reporting



























<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<script type="text/javascript" src="http://dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=6.2"></script>
<script type="text/javascript">
var map = null;
function GetMap()
{
map = new VEMap('myMap');
map.LoadMap();
}
</script>
</head>
<body onload="GetMap();">
<div id='myMap' style="position:relative; width:400px; height:400px;"></div>
</body>
</html>
Virtual Earth Control v6.2
Imagery Metadata API
With imagery metadata of selected areas,
users can now find out the age of a given
aerial image. This additional detail will
help customers assess if the imagery is still
relevant to their needs.
var veImageryMetadataOptions = new VEImageryMetadataOptions();
veImageryMetadataOptions.LatLong = new VELatLong(47.64432, -122.13053);
map.GetImageryMetadata(ShowImageryDate, veImageryMetadataOptions);
function ShowImageryDate(metadata)
{
alert("Image taken between " + metadata.DateRangeStart + " and " + metadata.DateRangeEnd);
}
Routing Landmark Hints
Available for the U.S. and
Canada, landmark hints adds
more detail to maps and routes
by including names of gas
stations and fast-food
restaurants (e.g. Chevron, Shell,
McDonald’s, and Wendy’s.)
Localized Tiles
Localized maps of Western
Europe are now available in U.S.
English, German, French, Spanish,
and Italian. This is addition to
maps in English outside Europe
and in Japanese for Japan.
Supported in both desktop and
mobile applications.
<script
type="text/javascript"
src="http://staging.dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=6.2&mkt=fr-fr"></script>
Pushpin Clustering
Pushpin Clustering allows you
to reveal multiple pushpins to
your customers at larger zoom
levels and either cluster or hide
pushpins to maintain visual
clarity at smaller zoom levels.
var veCustomIcon = new VECustomIconSpecification();
veCustomIcon.Image = "MultiplePushpins.png";
var veClusteringOptions = new VEClusteringOptions();
veClusteringOptions.Icon = veCustomIcon;
var shapeLayer = map.GetShapeLayerByIndex(0);
shapeLayer.SetClusteringConfiguration(VEClusteringType.Grid, veClusteringOptions);
Virtual Earth
Web Services v1.0
Static Map Generation
The new Virtual Earth Web Services
offers static map images from road and
aerial maps in both standard and
mobile-optimized forms.
ImageryServiceClient imageryService = new ImageryServiceClient();
MapUriRequest mapuriReq = new MapUriRequest
{
Credentials = new Credentials { Token = token },
Center = new Location { Latitude = 47.64122, Longitude = -122.107848 },
Options = new MapUriOptions {
ZoomLevel = 5, Style = MapStyle.AerialWithLabels, ImageType = ImageType.Gif,
ImageSize = new SizeOfint { Height = 400, Width = 400 },
}
};
MapUriResponse mapuriRep = imageryService.GetMapUri(mapuriReq);
Geocoding And Reverse-Geocoding
The full power of Microsoft's geocoding
engine is available through the new
Virtual Earth Web Services. 85 Million
rooftop locations in the US, and many
millions more locations around the world
can be found with a simple
server-side call.
GeocodeServiceClient geocodeService = new GeocodeServiceClient();
GeocodeRequest geoReq = new GeocodeRequest
{
Credentials = new Credentials { Token = token },
Address = new Address { AddressLine="1 Microsoft Way", Locality="Redmond", AdminDistrict="WA" }
};
GeocodeResponse geoResp = geocodeService.Geocode( geoReq );
Tile Metadata
With imagery metadata of selected areas,
users can now find out the relative age of
a given aerial image. This level of detail
will help your customers assess if the
imagery is still relevant to their needs.
ImageryServiceClient imageryService = new ImageryServiceClient();
ImageryMetadataRequest metaReq = new ImageryMetadataRequest
{
Credentials = new Credentials { Token = token },
Style = MapStyle.Aerial,
Options = new ImageryMetadataOptions
{
Location = new Location { Latitude = 47.64122, Longitude = -122.107848 },
ZoomLevel = 12
}
};
ImageryMetadataResponse metares = imageryService.GetImageryMetadata(metaReq);
Routing
The full power of the Microsoft Virtual Earth
routing engine, exposed through SOAP-based
web services, expands the potential for powerful
location-based mobile applications or by letting
server-side code work with routing data before it
is sent to the user.
RouteServiceClient routingService = new RouteServiceClient();
Waypoint[] points = new Waypoint[2];
points[0] = new Waypoint { Location = new Location{ Latitude=47.741278, Longitude=-121.107844 } };
points[1] = new Waypoint { Location = new Location{ Latitude=47.068869, Longitude=-117.364317 } };
RouteRequest routeReq = new RouteRequest
{
Credentials = new Credentials { Token = token },
Waypoints = points
};
RouteResponse routeResp = routingService.CalculateRoute(routeReq);
One-Click Directions
Allow your customers to get directions in
one click directly from your Virtual Earth
Web application. Users instantly get
directions from east, west, north, and
south, without having to enter a starting
address. Route options include shortest
time, shortest distance, or traffic flow.
RouteServiceClient routingService = new RouteServiceClient();
MajorRoutesRequest majReq = new MajorRoutesRequest
{
Credentials = new Credentials{ Token = token },
Destination = new Waypoint { Location = new Location{ Latitude=47.641278, Longitude=-122.107844} }
};
MajorRoutesResponse majResp = routingService.CalculateRoutesFromMajorRoads(majReq);
Search Service
“One Box” and “What/Where” search
services that include custom metadata
filters allow users to search for businesses
in ways that match their specific needs.
SearchServiceClient searchService = new SearchServiceClient();
SearchRequest searchReq = new SearchRequest
{
Credentials = new Credentials { Token = token },
StructuredQuery = new StructuredSearchQuery { Keyword = "Coffee Shop", Location = "Seattle" }
};
SearchResponse searchResp = searchService.Search( searchReq );
maplic@microsoft.com
mapptner@microsoft.com



http://dev.live.com/virtualearth



http://msdn.microsoft.com/enus/library/cc879136.aspx
www.microsoftpdc.com
© 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.
The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market
conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation.
MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.