This document discusses Microsoft's Virtual Earth mapping services. It provides an overview of the different Virtual Earth applications and APIs, including the AJAX API, MapPoint Web Service, and Live Search Maps. It also describes some key features of the Virtual Earth services like maps, geocoding, routing, and 3D environments. The document includes code samples for creating basic maps using the JavaScript API and adding shapes like polygons to the map. It also provides information on licensing and accessing the Virtual Earth APIs and services.
2. • Virtual Earth (AJAX API)
• MapPoint Web Service (SOAP XML Web Service)
• Live Search Maps (Consumer Web Site)
• Map Cruncher (Raster Overlay Tool)
• More Info: Microsoft.com/VirtualEarth
7. All Virtual Earth Apps must consist of AT
LEAST 3 items:
1. Link to the map control
2. Functions for calling the service
3. DIV tags for containing the map
8. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>Hello World</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script type="text/javascript"
src="http://dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=6"></s
cript>
<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:800; height:600;"></div>
</body>
</html>
9. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>Hello World</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script type="text/javascript"
src="http://dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=6"></s
cript>
<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:800; height:600;"></div>
</body>
</html>
10. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>Hello World</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script type="text/javascript"
src="http://dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=6"></s
cript>
<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:800; height:600;"></div>
</body>
</html>
11. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>Hello World</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script type="text/javascript"
src="http://dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=6"></s
cript>
<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:800; height:600;"></div>
</body>
</html>
12.
13. var map = null;
var layerid=1;
function GetMap()
{
map = new VEMap('myMap');
map.LoadMap();
}
function AddMyLayer(type)
{
map.DeleteAllShapes();
var l = new VEShapeLayer();
var veLayerSpec = new VEShapeSourceSpecification(type, txtSource.value, l);
map.ImportShapeLayerData(veLayerSpec, onFeedLoad, 1);
}
function onFeedLoad(feed)
{
alert('KML File has been loaded. There are '+feed.GetShapeCount()+ ' items in this
list.');
}
. . .
<body onload="GetMap();">
<div id='myMap' style="position:relative; width:800; height:600;"></div>
14. var map = null;
var layerid=1;
function GetMap()
{
map = new VEMap('myMap');
map.LoadMap();
}
15. var map = null;
var layerid=1;
function GetMap()
{
map = new VEMap('myMap');
map.LoadMap();
}
24. var map = null;
function GetMap()
{
map = new VEMap('myMap');
map.LoadMap();
}
25. var shape = null;
var dblVertices1 = new VELatLong(36.31874,-115.16773);
var dblVertices2 = new VELatLong(36.21565,-115.35949);
var dblVertices3 = new VELatLong(35.98240,-115.25993);
var dblVertices4 = new VELatLong(35.97261,-114.99517);
var dblVertices5 = new VELatLong(36.17013,-114.98039);
var dblVertices6 = new VELatLong(36.26305,-115.04402);
var vertices = new Array(dblVertices1, dblVertices2, dblVertices3,
dblVertices4, dblVertices5, dblVertices6);
36. • Virtual Earth JavaScript Intellisense Helper
• Downloadable from CodePlex
• (www.codeplex.com/vejs)
• Blog: blogs.msdn.com/devkeydet
• No more Notepad. Yay!
37. • Free API Access
• Pricing
Free
• Benefits
Same API as licensed version
• Restrictions
Non-commercial apps
No reverse engineering
50,000 geocodes per 24 hours
dev.live.com/terms
38. • Licensed
• Pricing
Per User, Per Transaction or Unlimited
Waterfall Schedule
1, 2, 3 or 4 year commitment
• Benefits
SLA, Support, Betas, Communications, TAP,
Advanced Features and more.
• Restrictions
Limited
39.
40. • Complete Virtual Earth Hands on Lab
• Go to dev.live.com
• Go to www.CodePlex.com/VEJS
• Go to the Sandbox