Developing Applications With Microsoft Virtual Earth

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    Favorites, Groups & Events

    Developing Applications With Microsoft Virtual Earth - Presentation Transcript

    1. Developing Applications with Microsoft ® Virtual Earth TM Chris Pendleton Virtual Earth Technical Evangelist Microsoft Corporation
    2. First, Some Clarification
      • 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
    3. Virtual Earth
    4. Virtual Earth Service The Big Picture Web Server Devices Solutions Online Locator Portals/ Yellow Pages Fleet/ Asset tracking Travel / Hospitality Planning Cartographic Data Local Search
      • FEATURES
      • Maps
      • Driving Directions
      • Find Address/Place
      • Oblique Photography
      • Orthographic Photography
      • Browser-based 3D
      JavaScript Internet Virtual Earth Service CONTENT Aerial Photography Geocoding Client-Based Communication Real Estate Hunting Routing AJAX/HTTP Requests
    5. Virtual Earth
      • AJAX Interface
      • Geocoding
      • Mapping
      • Driving Directions / Routing
      • 3-D Environment
      • Data
      • Toolset
      • DEMO
    6. Let’s Code!
      • All Virtual Earth Apps must consist of AT LEAST 3 items:
      • Link to the map control
      • Functions for calling the service
      • DIV tags for containing the map
    7. Hello World. 
      • <!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;>
      • <html>
      • <head>
      • <title>Hello World</title>
      • <meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot;>
      • <script type=&quot;text/javascript&quot; src=&quot;http://dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=6&quot;></script>
      • <script type=&quot;text/javascript&quot;>
      • var map = null;
      • function GetMap()
      • {
      • map = new VEMap('myMap');
      • map.LoadMap();
      • }
      • </script>
      • </head>
      • <body onload=&quot;GetMap();&quot;>
      • <div id='myMap' style=&quot;position:relative; width:800; height:600;&quot;></div>
      • </body>
      • </html>
    8. Hello World. 
      • <!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;>
      • <html>
      • <head>
      • <title>Hello World</title>
      • <meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot;>
      • <script type=&quot;text/javascript&quot; src=&quot;http://dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=6&quot;></script>
      • <script type=&quot;text/javascript&quot;>
      • var map = null;
      • function GetMap()
      • {
      • map = new VEMap('myMap');
      • map.LoadMap();
      • }
      • </script>
      • </head>
      • <body onload=&quot;GetMap();&quot;>
      • <div id='myMap' style=&quot;position:relative; width:800; height:600;&quot;></div>
      • </body>
      • </html>
    9. Hello World. 
      • <!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;>
      • <html>
      • <head>
      • <title>Hello World</title>
      • <meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot;>
      • <script type=&quot;text/javascript&quot; src=&quot;http://dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=6&quot;></script>
      • <script type=&quot;text/javascript&quot;>
      • var map = null;
      • function GetMap()
      • {
      • map = new VEMap('myMap');
      • map.LoadMap();
      • }
      • </script>
      • </head>
      • <body onload=&quot;GetMap();&quot;>
      • <div id='myMap' style=&quot;position:relative; width:800; height:600;&quot;></div>
      • </body>
      • </html>
    10. Hello World. 
      • <!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;>
      • <html>
      • <head>
      • <title>Hello World</title>
      • <meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot;>
      • <script type=&quot;text/javascript&quot; src=&quot;http://dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=6&quot;></script>
      • <script type=&quot;text/javascript&quot;>
      • var map = null;
      • function GetMap()
      • {
      • map = new VEMap('myMap');
      • map.LoadMap();
      • }
      • </script>
      • </head>
      • <body onload=&quot;GetMap();&quot;>
      • <div id='myMap' style=&quot;position:relative; width:800; height:600;&quot;></div>
      • </body>
      • </html>
      • DEMOS!
    11. Importing KML…yes, KML
      • 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=&quot;GetMap();&quot;>
      • <div id='myMap' style=&quot;position:relative; width:800; height:600;&quot;></div>
    12. Importing KML…yes, KML
      • var map = null;
      • var layerid=1;
      • function GetMap()
      • {
      • map = new VEMap('myMap');
      • map.LoadMap();
      • }
    13. Importing KML…yes, KML
      • var map = null;
      • var layerid=1;
      • function GetMap()
      • {
      • map = new VEMap('myMap');
      • map.LoadMap();
      • }
    14. Importing KML…yes, KML
      • function AddMyLayer(type)
      • {
      • map.DeleteAllShapes();
      • var l = new VEShapeLayer();
      • var veLayerSpec = new VEShapeSourceSpecification(type, txtSource.value, l);
      • map.ImportShapeLayerData(veLayerSpec, onFeedLoad, 1);
      • }
    15. Importing KML…yes, KML
      • function AddMyLayer(type)
      • {
      • map.DeleteAllShapes();
      • var l = new VEShapeLayer();
      • var veLayerSpec = new VEShapeSourceSpecification(type, txtSource.value, l);
      • map.ImportShapeLayerData(veLayerSpec, onFeedLoad, 1);
      • }
    16. Importing KML…yes, KML
      • function AddMyLayer(type)
      • {
      • map.DeleteAllShapes();
      • var l = new VEShapeLayer();
      • var veLayerSpec = new VEShapeSourceSpecification(type, txtSource.value, l);
      • map.ImportShapeLayerData(veLayerSpec, onFeedLoad, 1);
      • }
    17. Importing KML…yes, KML
      • function AddMyLayer(type)
      • {
      • map.DeleteAllShapes();
      • var l = new VEShapeLayer();
      • var veLayerSpec = new VEShapeSourceSpecification(type, txtSource.value, l);
      • map.ImportShapeLayerData(veLayerSpec, onFeedLoad, 1);
      • }
    18. Importing KML…yes, KML
      • function AddMyLayer(type)
      • {
      • map.DeleteAllShapes();
      • var l = new VEShapeLayer();
      • var veLayerSpec = new VEShapeSourceSpecification(type, txtSource.value, l);
      • map.ImportShapeLayerData(veLayerSpec, onFeedLoad, 1);
      • }
    19. Importing KML…yes, KML
      • function onFeedLoad(feed)
      • {
      • alert('KML File has been loaded. There are '+feed.GetShapeCount()+ ' items in this list.');
      • }
    20. Importing KML…yes, KML
      • <body onload=&quot;GetMap();&quot;>
      • <div id= 'myMap ' style=&quot;position:relative; width:800; height:600;&quot;></div>
      • DEMOS!
    21. Rendering Vectors in 3D
      • var map = null;
      • function GetMap()
      • {
      • map = new VEMap('myMap');
      • map.LoadMap();
      • }
    22. Rendering Vectors in 3D
      • 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);
    23. Rendering Vectors in 3D
      • function AddPolygon()
      • {
      • shape = new VEShape(VEShapeType.Polygon, vertices);
      • shape.SetLineColor(new VEColor(255,255,0,1.0));
      • shape.SetLineWidth(1);
      • shape.SetFillColor(new VEColor(255,255,0,0.3))
      • try
      • {
      • map.SetMapMode(VEMapMode.Mode3D);
      • map.SetMapStyle(VEMapStyle.Hybrid);
      • map.AddShape(shape);
      • map.SetCenter(new VELatLong(36.17263, -115.13841));
      • map.SetAltitude(30000);
      • }
      • catch(e)
      • {
      • alert(e.message);
      • }
      • }
    24. Rendering Vectors in 3D
      • function AddPolygon()
      • {
      • shape = new VEShape(VEShapeType.Polygon, vertices);
      • shape.SetLineColor(new VEColor(255,255,0,1.0));
      • shape.SetLineWidth(1);
      • shape.SetFillColor(new VEColor(255,255,0,0.3))
      • try
      • {
      • map.SetMapMode(VEMapMode.Mode3D);
      • map.SetMapStyle(VEMapStyle.Hybrid);
      • map.AddShape(shape);
      • map.SetCenter(new VELatLong(36.17263, -115.13841));
      • map.SetAltitude(30000);
      • }
      • catch(e)
      • {
      • alert(e.message);
      • }
      • }
    25. Rendering Vectors in 3D
      • function AddPolygon()
      • {
      • shape = new VEShape(VEShapeType.Polygon, vertices);
      • shape.SetLineColor(new VEColor(255,255,0,1.0));
      • shape.SetLineWidth(1);
      • shape.SetFillColor(new VEColor(255,255,0,0.3))
      • try
      • {
      • map.SetMapMode(VEMapMode.Mode3D);
      • map.SetMapStyle(VEMapStyle.Hybrid);
      • map.AddShape(shape);
      • map.SetCenter(new VELatLong(36.17263, -115.13841));
      • map.SetAltitude(30000);
      • }
      • catch(e)
      • {
      • alert(e.message);
      • }
      • }
    26. Rendering Vectors in 3D
      • function AddPolygon()
      • {
      • shape = new VEShape(VEShapeType.Polygon, vertices);
      • shape.SetLineColor(new VEColor(255,255,0,1.0));
      • shape.SetLineWidth(1);
      • shape.SetFillColor(new VEColor(255,255,0,0.3))
      • try
      • {
      • map.SetMapMode(VEMapMode.Mode3D);
      • map.SetMapStyle(VEMapStyle.Hybrid);
      • map.AddShape(shape);
      • map.SetCenter(new VELatLong(36.17263, -115.13841));
      • map.SetAltitude(30000);
      • }
      • catch(e)
      • {
      • alert(e.message);
      • }
      • }
    27. Rendering Vectors in 3D
      • function AddPolygon()
      • {
      • shape = new VEShape(VEShapeType.Polygon, vertices);
      • shape.SetLineColor(new VEColor(255,255,0,1.0));
      • shape.SetLineWidth(1);
      • shape.SetFillColor(new VEColor(255,255,0,0.3))
      • try
      • {
      • map.SetMapMode(VEMapMode.Mode3D);
      • map.SetMapStyle(VEMapStyle.Hybrid);
      • map.AddShape(shape);
      • map.SetCenter(new VELatLong(36.17263, -115.13841));
      • map.SetAltitude(30000);
      • }
      • catch(e)
      • {
      • alert(e.message);
      • }
      • }
    28. Rendering Vectors in 3D
      • function AddPolygon()
      • {
      • shape = new VEShape(VEShapeType.Polygon, vertices);
      • shape.SetLineColor(new VEColor(255,255,0,1.0));
      • shape.SetLineWidth(1);
      • shape.SetFillColor(new VEColor(255,255,0,0.3))
      • try
      • {
      • map.SetMapMode(VEMapMode.Mode3D);
      • map.SetMapStyle(VEMapStyle.Hybrid);
      • map.AddShape(shape);
      • map.SetCenter(new VELatLong(36.17263, -115.13841));
      • map.SetAltitude(30000);
      • }
      • catch(e)
      • {
      • alert(e.message);
      • }
      • }
    29. Rendering Vectors in 3D
      • function AddPolygon()
      • {
      • shape = new VEShape(VEShapeType.Polygon, vertices);
      • shape.SetLineColor(new VEColor(255,255,0,1.0));
      • shape.SetLineWidth(1);
      • shape.SetFillColor(new VEColor(255,255,0,0.3))
      • try
      • {
      • map.SetMapMode(VEMapMode.Mode3D);
      • map.SetMapStyle(VEMapStyle.Hybrid);
      • map.AddShape(shape);
      • map.SetCenter(new VELatLong(36.17263, -115.13841));
      • map.SetAltitude(30000);
      • }
      • catch(e)
      • {
      • alert(e.message);
      • }
      • }
    30. Rendering Vectors in 3D
      • function RemovePolygon()
      • {
      • map.DeleteShape(shape);
      • }
    31. Rendering Vectors in 3D
      • <body onload=&quot;GetMap();&quot;>
      • <div id='myMap' style=&quot;position:relative; width:1200px; height:700px;&quot;></div>
      • <a href=&quot;#&quot; onClick=&quot;AddPolygon();&quot;>Add Las Vegas Polygon</a>
      • <br/><a href=&quot;#&quot; onClick=&quot;RemovePolygon();&quot;>Remove Las Vegas Polygon
      • </body>
      • DEMOS!
    32. New Developer Tool
      • Virtual Earth JavaScript Intellisense Helper
      • Downloadable from CodePlex
        • (www.codeplex.com/vejs)
      • No more Notepad. Yay! 
    33. Virtual Earth Appliance
      • Federal: NGA, EPA, DoD, DHS, …
      • SLG: Police, Fire, First Responders, …
      • Commercial: Insurance, Oil & Gas …
      • Integrate Enterprise Data
      • Customizable and Scalable
      • Stand-up and Refresh Services
      Secure Intranet GPS Smart Phone VE content (search, imagery, maps)
    34. VE Appliance - Form Factors
      • Enterprise servers scalable with
        • data content size
        • performance specifications
        • number of users
          • 100’s users from ½ rack config
      • Portable VE system
        • Full VE capability on a standard laptop
        • Subsets of complete data sets for areas of interest
        • Rapid syncing of content with enterprise system
          • Download maps and images
          • Upload user collections
    35. Licensing….Clarified
      • Free API Access
        • Pricing
          • Free
        • Benefits
          • Same API as licensed…for now.
        • Restrictions
          • Non-commercial apps
          • Use documented methodologies
          • No maps behind logins
          • No storage
          • 50,000 geocodes per 24 hours
          • 250 POI
          • [more…]
    36. Licensing….Clarified
      • Free API Access
        • Restrictions cont.
          • Real time tracking apps
          • Real time navigation
          • Remove MS logo or vendor attribution
          • Integration with other mapping platforms
          • Cannot reveal BE lat/lons
          • Store or print BE
          • BE used in govt. apps
          • Traffic in media or media apps
          • Resell apps with VE
    37. Licensing….Clarified
      • 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. Licensing….Clarified
      • 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. Now What?
      • Complete Virtual Earth Hands on Lab
      • Go to dev.live.com
      • Go to www.CodePlex.com/VEJS
      • Go to the Sandbox
    40. Questions
      • SDK: dev.live.com
      • Marketing: microsoft.com/virtualearth
      • Licensing: maplic@microsoft.com
      • Blog: blogs.msdn.com/virtualearth
      • Me: chris.pendleton@microsoft.com
    41. © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

    + Angus LoganAngus Logan, 2 years ago

    custom

    2487 views, 0 favs, 0 embeds more stats

    Learn how to leverage Microsoft Virtual Earth’s 1 more

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 2487
      • 2487 on SlideShare
      • 0 from embeds
    • Comments 0
    • Favorites 0
    • Downloads 45
    Most viewed embeds

    more

    All embeds

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories