|
The 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
This 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/
The 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/
Although 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
The 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/
Popfly 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
Silverlight 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
This 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
Hello 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/
Are 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
With 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/
No 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 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
Watch 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
Integration 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
Once 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
Catherine 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
Internal 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/
If 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/
Live 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
Not 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 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.
|