You are on page 1of 24

Live Services

Synchronizing Life

Virtual Earth
6.2 Release
Session objectives and takeaways Live Services
Synchronizing Life

• Learn about the new features in the


6.2 Virtual Earth control
• Learn about the new Virtual Earth 1.0
web services

2
Included in this Release
Live Services
Synchronizing Life

• Virtual Earth JavaScript Control v6.2


• Virtual Earth Web Services v1.0
• Updated 3D Control
Virtual Earth 6.2 – What’s New? Live Services
Synchronizing Life

• Improved International • Imagery Metadata


Parsing • Birds-Eye Orientation
• International Reverse • On-Script Load
Geocoding
• Import 3D models
• Localized Maps
• Hide Base Tile Layer
• 85 Million Rooftops
(US) • Pushpin Clustering
• Enhanced Search • One-Click Directions
Accuracy
• Routing Landmark
Virtual Earth Web Services 1.0 Live Services
Synchronizing Life

• Imagery Service
– Static Maps and Tiles
– Image Metadata
– Maps & Imagery for Mobile Devices
• Search Service
– Map Collections
• GeoCode Service
– Reverse Geocoding
• Route Service
– Major Routes (one-click directions)
Feature Breakdown

Live Services
Synchronizing Life

VIRTUAL EARTH
CONTROL 6.2
Routing Landmark Hints
Live Services
Synchronizing Life

Available for the U.S. and


Canada, landmark-based
routing 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
Live Services
Synchronizing Life

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
Live Services
Synchronizing Life

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);
Imagery Metadata API
Live Services
Synchronizing Life

With imagery metadata of selected


areas, users can now find out the
relative 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);
}
Hiding the Base Tile Layer
Live Services
Synchronizing Life

Developers may now hide


the Virtual Earth base map
tiles for more granular
control in applications that
use custom imagery or
overlays.

var veMapOptions = new VEMapOptions();


veMapOptions.LoadBaseTiles = false;

map = new VEMap(“Mapdiv");


map.LoadMap(new VELatLong(47.644320, -122.130530), 6, VEMapStyle.Hybrid, false,
VEMapMode.Mode2D, false, 0, veMapOptions);
Feature Breakdown

Live Services
Synchronizing Life

3D CONTROL
Weather Integration
Live Services
Synchronizing Life

Real-time weather data and


cloud-rendering algorithms
adds a new level of realism
to the Virtual Earth 3D
experience.
Simplified 3D Model Import
Live Services
Synchronizing Life

Instead of creating a collection


to integrate their own 3D
models into the platform,
customers can now host them
themselves and retrieve them
from a model data file and
merge them into the built-in
3D landscape & buildings.

map = new VEMap("mapdiv");


map.LoadMap(modelLocation, 12, VEMapStyle.Aerial, false, VEMapMode.Mode3D);

var modelSpec = new VEModelSourceSpecification(VEModelFormat.OBJ, "/Model/House.obj");


map.Import3DModel(modelSpec, onModelLoad, modelLocation, new VEModelOrientation(), new VEModelScale());
Feature Breakdown

Live Services
Synchronizing Life

VIRTUAL EARTH WEB SERVICES


1.0
Geocoding & Reverse-Geocoding
Live Services
Synchronizing Life

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 );
Static Map Generation
Live Services
Synchronizing Life

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);
Tile Metadata
Live Services
Synchronizing Life

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);
Search Service
Live Services
Synchronizing Life

“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 );


Routing
Live Services
Synchronizing Life

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
Live Services
Synchronizing Life

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);
Demo
Live Services
Synchronizing Life

New Features
Questions?
Live Services
Synchronizing Life

Discussion
Live Services
Synchronizing Life

© 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.