Sponsored Links

Twenty ways to use the Virtual Earth Platform as a developer PDF Print E-mail
Written by John OBrien   
Thursday, 22 January 2009 09:06

Virtual EarthThe virtual earth platform is much more then just a consumer map search site and an Ajax map control, it’s an entire platform of spatial services and data. In this article I will cover no less then twenty ways in which you can integrate Virtual Earth.

1. Live Maps

http://maps.live.com

Live MapsThis is Microsoft’s consumer site build upon the AJAX Virtual Earth control. It offers the ability to explore the rich imagery for free and provides a powerful location and business search. If you sign into the site you can create your own data layers either using the custom drawing tools or by importing a layer, this includes raster layers hosted by you created with tools like MapCruncher.

The site offers the ability to direct users to a specific location, specific data and custom layers using parameters on the URL. This makes it very easy for you to integrate it into your current site for no cost. For example the NGA’s Prints and Printmaking site uses this for Artists Birth places here. For a full list of the available options consult the live maps help, for simply reference I have hosted a copy here.

2. AJAX Map Control

http://dev.live.com/virtualearth/

Virtual Earth AJAX ControlThe popular map control used on commercial and non-profit sites around the world. The script is now at version 6.2 and is very stable supporting the majority of internet browsers with AJAX support. This control lets you integrate Virtual Earth onto any HTML page independent of server side technology (ASP.NET, PHP, Java etc) in a few lines of JavaScript. See the interactive SDK for a great sample of functionality and code snippets.

The control is well documented, stable and in current development.

3. 3D Map Control

http://blogs.msdn.com/VirtualEarth3D/

Virtual Earth 3D ControlAlthough the AJAX Map Control contains a 3D mode it is limited to providing the exact functionality of the 2D control with only a couple of extra options including altitude, pitch and heading. The 3D control itself can do significantly more. However, currently it is mostly undocumented and supported by Microsoft.

A web browser plug-in installed from the maps.live.com site or from the Microsoft Download centre, VE3D runs in both Firefox and Internet Explorer. Once installed a developer can code “plug ins” in C# to enhance the 3D control. An example of how this maybe used in JavaScript follows:

 
 
 
 
  function OnPageLoad()
{
map = new VEMap('myMap');
map.LoadMap(null, 2, 'a', false, VEMapMode.Mode3D);
control3D = map.vemapcontrol.Get3DControl();
control3D.AttachEvent("OnPlugInLoaded", "On3DPlugInLoaded");
control3D.LoadPlugInDll(pathRoot + sampleName + pathSep + sampleName + ".dll");
}

function On3DPlugInLoaded(data, mapguid)
{
// data returned from events are in JSON format, and should be processed with a JSON parser,
// but eval will work for demonstration purposes
var result = eval('(' + data + ')');

// we want to be sure that we are activating the correct one.
var reg = new RegExp(sampleName + ".dll$");
if(result.success && reg.test(result.plugInPath))
{
objectPlugInGuid = result.guid;
control3D.ActivatePlugIn(objectPlugInGuid, null);
}

if (!result.success)
{
alert(result.plugInPath + " failed to load!");
}
}

4. VEWS Static Map

http://msdn.microsoft.com/en-us/librar y/cc980922.aspx

VEWS Static Maps from BBCThe Virtual Earth Web Service (VEWS) provides SOAP based web services for access to all the functionality of Virtual Earth. One of the additional pieces here is the ability to create a static map image. This is completely customisable by the developer and can include a small number of non-interactive pushpin markers. The benefit of these maps is that they work on any device that can show a simple image. This can be a lightweight alternative if you don’t need an interactive map. Importantly, if you’re building a commercial public application and need to support all browsers, then this provides a downgraded experience.

The BBC uses a Virtual Earth Static map with some custom additions very effectively to bring a great experience to its site: http://news.bbc.co.uk/2/hi/uk_news/7727807.st m

5. Popfly

http://www.popfly.com/

PopflyPopfly is a free online visual mashup creator. Within an online dev environment you can create applications simply by connecting up blocks. Virtual Earth has a block to let you visualise data. Popfly is a great tool for non-developers to very rapidly build a custom mashup. Developers can create blocks to be added to Popfly.

6. Silverlight

http://www.codeplex.com/deepearth

DeepEarth Virtual Earth SilverlightSilverlight is Microsoft’s Rich Internet Application (RIA) framework. It provides a familiar mini .Net framework with a concentration on interactivity and user experience. Perfectly suited to Virtual Earth you can connect directly to the VEWS from within Silverlight to get rich imagery and services. Currently no official control exists but the open source DeepEarth project on CodePlex demonstrates how to integrate the VE services with the built in DeepZoom functionality of the MultiScaleImage control in Silverlight. With multithread support, high performance vectors and cross domain service calls, Silverlight offers a bright future for Virtual Earth.

7. Windows Forms

http://www.codeplex.com/VEarthControl

VEarthControlThis is a great little project on CodePlex that shows how you can use the VE web control in a Windows Forms application with a few tricks to invoke the AJAX control and have two way integration between the JavaScript code of Virtual Earth and your .Net application. I am not aware of a native Windows Forms control, this uses the normal AJAX control. However VEWS does make it possible to build your own.

8. Video / Movies

http://maps.live.com

Day the Earth stood stillHello Hollywood! Need some colour corrected, HD quality, mapping visualisations? Virtual Earth is well suited for rendering high quality visualisations in 3D. Its world class realistic imagery combined with a full terrain model and ever growing 3D cities (even with trees and weather) is at your disposal. For consumers the maps.live.com site has built-in support to rendered an automated tour of your locations at full 1920x1080p @30fps resolution. Simply:

  • Navigate to http://maps.live.com/?mkt=en-us
  • Sign in using LiveID
  • Click on “Collections”
  • Add the points you want to tour
  • Change to 3D mode (May have to install / update)
  • Configure the “3D tour video” settings from the option icon on the far right
  • In your collections editor with your collection open choose Actions –> Tour and make videos in 3D
  • Preview your tour, click record when you’re happy
  • Set a few options about labels and set the filename
  • Sit back a wait, for high resolutions it can take some time to ensure all the tiles are loaded.

9. ASP.NET Map Control

http://dev.live.com/tools/

ASP.NET Map ControlAre you an ASP.NET developer with no JavaScript experience but want to start with Virtual Earth? Never fear the ASP.NET map control is a wrapper built just for you. Simply drag the map control and a few extenders onto your web form, set a few properties and you’re away. The control exposes suitable events and properties using AJAX back to the server, with one extra setting even the maps data can be sent back.

Even for experienced Virtual Earth developers, the control offers a fantastic server side model for working with Virtual Earth, getting data from your database rendered has never been simpler. For advanced functionality the event can be first handled by client side JavaScript code which can determine if the server post back has to be called. With full access to the underlying AJAX control there are very few limitations imposed. However the control is still in development and is in desperate need of its bugs to be fixed and updated to the latest AJAX control version. View my example site to see it in action with source code: http://veasp.soulsolutions.com.au/

10. Vista / Windows 7 Gadget

http://msdn.microsoft.com/en-au /library/aa965850(VS.85).aspx

Virtual Earth GadgetWith the recent release of the Windows 7 beta Gadgets are back! The concept behind a desktop gadget is to provide a single piece of functionality that the user can customise. I like to think of them as my private dashboard with CPU/Memory usage, Internet bandwidth remaining, local weather etc. Any data that has a location element is suited to visualisation on a map. Maybe you want to track some assets, a single gadget could be created to track one assets, the user can add as many copies of this gadget as they like to their desktop and configure each to track a different asset. So far simple traffic gadgets have been created but this market is widely open for innovation. With the expected popularity of Windows 7, Gadgets will make a comeback. Richard has a great article to get you started, here.

11. Microsoft Surface

http://www.microsoft.com/surface/

Microsoft SurfaceNo Surface demo is complete without a Virtual Earth map! Microsoft Surface is a multiuser coffee table experience combining a multi-touch large display with commodity .Net development. A WPF developer can create rich multi user experiences with familiar tooling support. Virtual Earth can provide rich imagery and data for applications like the concierge application for Hotel foyers, strategic planning and data visualisation. Unfortunately the Surface SDK is not public and little is known as to whether an actual built in mapping control exists, or if you as the developer would use the VEWS as the data source for your own custom control.

12. ESRI

ESRI VE iSDK

ESRI iSDKESRI announced both integration of Virtual Earth into their desktop application and also Server components and JavaScript libraries to visualise and interact with ESRI layers over the Virtual Earth AJAX control. If you are a GIS specialist then Virtual Earth has you covered with extensive global coverage.

13. XNA

http://www.ziggyware.com/readarticle.php?article_id=232

XNA XBOX 360Watch this space, XNA is the gaming framework for Windows, Xbox and Zune. The ability to utilise the rich Virtual Earth data for your next indie game must be appealing or is it just me? With high quality aerial coverage of much of the populated world (and growing monthly) why create your own Virtual World when you can leverage Virtual Earth? Visit Omri Fima’s article here.

14. Microsoft Office

http://jonas.follesoe.n o/IntegratingVirtualEarthWithOutlook2007.aspx

Virtual Earth in Outlook 2007Integration with your custom line of business application is perfect for Virtual Earth, be it a meeting planner extension to Outlook or a some heavy data integration with Excel. With VS2008 and Office 2007 this is possible with some tricks to communicate between Windows Forms and JavaScript. Jonas has a great simple start here.

15. Visual Fox Pro

http://www.sweetpotatosoftware.com/SPSBlog/PermaLink,guid,aeeb57dc-dab4-41d0-9748-5ef40a397 57c.aspx

Virtual Earth with VFPOnce again the flexibility on the Virtual Earth AJAX control is on show with this example of using Visual Fox Pro with Virtual Earth. This Virtual Earth Wrapper allows you to code in VFP with native classes. If your a VFP developer, then this is definitely one to check out.

16. Dynamics CRM

http://blogs.msdn.com/ceibner/archive/2008/12/02/integrating-dynamics-crm-with-virtual-earth. aspx

Virtual Earth with CRMCatherine Eibner shares a little of running and communicating with the Virtual Earth AJAX control from with CRM. If location is important for you and is your relationships with your customers then this is a must. For something a little more futuristic check out CRM integrated with Virtual  Earth and Surface from InfoStrat: http://au.youtube.com/watch?v=Y9uhL7b_C7A  ;

17. SharePoint / Microsoft Single View Platform

http://www.codeplex.com/CKS

Virtual Earth with SharePointInternal to your organisation, you no doubt have data with location information. Within your SharePoint Portal you can visualise this on Virtual Earth thanks to the Community Kit for SharePoint. This is a good starting point, Microsoft is about to launch the new “Microsoft Single View Platform” that will provide your business with a single geographical view of your information. It will combine Virtual Earth with SharePoint, CRM, Office and SQL Server 2008. Find out more here: http://www.micr osoft.com/industry/government/solutions/single_view_platform/

18. iPhone

http://consonancesw.com/developers/virtualearthkit/

Virtual Earth on the IPhoneIf you want to build a commercial IPhone application then Virtual Earth offers an alternative licensed solution. Consonance Software released their VirtualEarthKit framework to accelerate your development with Objective-C.

The Live Labs team have also released their SeaDragon viewer for the Iphone that provides an amazing smooth experience for viewing Virtual Earth. If you have an IPhone or ITouch I highly recommend checking it out: http://livelabs.com/blog/seadragon-goes-mobi le/

19. Windows Mobile

http://wls.live.com/

Virtual Earth on Windows MobileLive Search for Windows Mobile offers a consumer mobile application to search for information and show and direct on the Virtual Earth Map. It is a powerful application and well built for the limitations of the device.

For developers unfortunately I’m not aware of any frameworks for Windows Mobile. The VEWS offers methods to get the images and data you need including smaller mobile tiles but you need to develop the map from scratch. Personally I’m holding out for Silverlight 2 for the mobile.

20. SQL Server 2008

http://johanneske beck.spaces.live.com/blog/cns!42E1F70205EC8A96!3615.entry

Virtual Earth and SQL 2008Not only does SQL Server 2008’s new spatial functionality give you somewhere to store all the data that you want to show on Virtual Earth, but you can also call the web services directly for geocoding or other Virtual Earth functionality that you may need. The most common scenario is to geocode database address information, to get Latitude and Longitude coordinate values. You may not even use Virtual Earth to visualise the results, but this would enable your queries to be focused on selecting or counting records based on geographic location or proximity.


So now you have 20 ways to use Virtual Earth Platform as a developer and I’m sure there are many more to come.


About the Author

John OBrienJohn O’Brien is a software developer based in Brisbane, Australia. A Windows Live Platform MVP, John empowers companies with amazing new tools to extend their reach and enrich their applications. John is the moderator for the Virtual Earth forums and co-ordinates the DeepEarth Silverlight project on Codeplex.


Last Updated on Thursday, 22 January 2009 09:57