Interactive Mapping Blog

Mapping Solutions News

Archive for the ‘Silverlight’ Category

Become Mayor of your town!

Friday, April 16th, 2010

Well, in a virtual sense at least. Foursquare is a fast-growing location-based game that allows you to ‘check-in’ to locations from your mobile device that is shared with users and your community of friends. As well as showing where people are, thanks to GPS technology, you can provide tips and advice about a specific location. Think of it in terms of a real-time version of Trip Advisor.

In offering this information, you earn ‘badges’ and when you’ve collected enough, you are considered influential enough to be given the keys to your city in the shape of a virtual ‘Mayorship’ of the location where you checked- in. This concept reflects foursquare’s slogan, “Unlocking your city.”

Microsoft recently commissioned the development of a new Application from the team at Earthware using the Silverlight Bing Maps Control so you can now see where Foursquare users are checking-in via Microsoft’s Bing Maps in real time.

image

Click on ‘Map Apps’ bottom left and you’ll see a menu which shows Foursquare Everywhere. The mapping facility within the App is seamless, enabling ultra-fast zoom functionality. As it loads, you’ll see tips from users who have tagged a location with additional information. A continually updated flow of ‘check-ins’ is presented on the left of the screen and as you zoom out to a country or global view, Foursquare check-ins are indicated as pinpoints on the map.

Checking the box “auto-center the map on new updates” allows you to watch the map fly around the world as people check in everywhere!  If you’re not seeing data on the map, chances are you’re zoomed into an area where people aren’t playing Foursquare so either move the map or zoom out. If you click on one of the pieces of data pinned to the map you’ll get a pop up with the name of the location which you can click to zoom down.

Speaking at the Where 2.0 conference in California recently, Bing Maps’ architect Blaise Agüera y Arcas demonstrated the new Foursquare Everywhere feature on the Bing Maps platform, which was a proud moment for the Earthware team. Agüera y Arcas described the service as a “mash-in” rather than a “mash-up”, with Bing Maps working as a surface on top of which different applications and services can be integrated.

“With a mash-in model like this, the interaction is much more rich and fluid than with a traditional mash-up technique, as everything is discoverable in one place,” he said.

Ensuring user privacy, Bing Maps only shows information from the Foursquare API that users have agreed to share. Users can select their own privacy settings, allowing them to decide if they want to share their location, for example. Bing Maps doesn’t store any user information provided through the Foursquare Everywhere App, as it streams data directly to the map in real time.

If you would like to find out more about map Apps, Bing Maps or Silverlight please get in touch with us.

Writing a Bing Maps location aware application for Windows Phone 7 Series

Tuesday, March 16th, 2010

imageIf you have been keeping up with the news from Mix2010 and yesterdays’ keynote you will know a number of exciting things have been released for windows phone 7 series:

  • completely free developer tools
  • the windows 7 phone series beta sdk
  • lots of details about using silverlight and xna to develop phone applications

So what does that mean for Bing Map, will there be a new silverlight control for mobile? There may well be an update to better support mobile development but you can start right now using the current Bing Maps silverlight control and it works! To show you how here is a quick tutorial creating your first location aware Bing Maps phone application.

Prerequisites

Getting Started

Start by opening Visual Studio 2010 (or express as offered free in the sdk) and create a new project, selecting the “Windows Phone Application” project template.

image

Now add references to the Bing Maps silverlight control (usually found in C:\Program Files\Bing Maps Silverlight Control\V1\Libraries). You may find you need to also add a reference to System.Windows.Browser to get it to compile correctly (from c:\Program Files\Microsoft Silverlight\4.0.50303.0\).

Finally for the setup, add a reference to System.Device.Location.

Creating a Basic User Interface

Now we have the project created lets create a simple user interface in XAML that has a Bing Map Control, a status bar and a start button. First add the Bing Maps namespace to you MainPage.xaml file:

xmlns:m="clr-namespace:Microsoft.Maps.MapControl;assembly=Microsoft.Maps.MapControl"

Then add the following block of XAML in the grid named “ContentGrid” which should already be in MainPage.xaml:

  1. <m:Map Name="mapMain" NavigationVisibility="Collapsed" Mode="AerialWithLabels" CredentialsProvider="ADD_YOUR_BINGMAPS_KEY_HERE">
  2. </m:Map>
  3. <Border Background="Black" Height="40" Opacity="0.7" VerticalAlignment="Top">
  4.     <TextBlock Name="tbStatus" Text="Click below to start" Margin="5 5 0 0" />
  5.    </Border>

Now change the name of the application and the title to be whatever you want. Hit F5 and you should get the emulator load up with you application showing a Bing Map!"

Making it actually do something

For the next part of the tutorial we are going to make the application actually do something with the map by making it location aware, that is to say use the devices location to change the map in some way.

First add the following to your XAML just under the map control, to add a button:

  1. <Button Name="btnStart" Click="btnStart_Click" Width="260" Height="40">
  2.     <Button.Content>
  3.         <StackPanel Orientation="Horizontal">
  4.             <Path Fill="White" Data="F1 M 2.339,6.489 C 1.193,5.343 1.193,3.485 2.339,2.339 C 3.485,1.192 5.344,1.193 6.489,2.339 C 7.635,3.485 7.635,5.343 6.489,6.489 C 5.344,7.636 3.485,7.636 2.339,6.489 Z M 11.711,10.209 L 8.185,6.684 C 9.207,4.986 9.000,2.757 7.535,1.293 C 5.812,-0.431 3.017,-0.431 1.293,1.293 C -0.431,3.017 -0.431,5.812 1.293,7.536 C 2.757,8.999 4.988,9.206 6.685,8.185 L 10.209,11.710 L 11.711,10.209 Z" Margin="0,0,5,0">
  5.                 <Path.RenderTransform>
  6.                     <ScaleTransform ScaleX="2.5" ScaleY="2.5" />
  7.                 </Path.RenderTransform>
  8.             </Path>
  9.             <TextBlock Foreground="White" Text="Find Me Now" Margin="20 -5 0 0" />
  10.         </StackPanel>
  11.     </Button.Content>
  12. </Button>

 

Then and add a map layer with a simple circle pushpin to the map control:

  1.           <m:Map Name="mapMain" NavigationVisibility="Collapsed" Mode="AerialWithLabels" CredentialsProvider="ApXw1_p4abRAyITXFZGy6IvPyUN05hwF08hfkkNMUfExuujgB-XpmebygnDRH1RA">
  2.               <m:MapLayer Name="lMain">
  3.                   <Ellipse Fill="Red" Width="20" Height="20" m:MapLayer.Position="0,0" Name="ppLocation" Visibility="Collapsed" />
  4.                           </m:MapLayer>
  5.             </m:Map>

Now we are going to wire up the click event of the button to get the users location and update the map. We will do this in a number of stages.

Firstly, add these using statements to the top of your code:

  1. using System.Device.Location;
  2. using Microsoft.Maps.MapControl;

 

Now add a private member of type GeoCoordinateWatcher above the MainPage constructor:

  1. GeoCoordinateWatcher watcher;
  2. public MainPage()
  3. {
  4.     InitializeComponent();
  5.  
  6.     SupportedOrientations = SupportedPageOrientation.Portrait | SupportedPageOrientation.Landscape;
  7. }

And add the following event handler for the button click:

  1. private void btnStart_Click(object sender, RoutedEventArgs e)
  2. {
  3.     // Reinitialize the GeoCoordinateWatcher
  4.     watcher = new GeoCoordinateWatcher(GeoPositionAccuracy.High);
  5.     watcher.MovementThreshold = 100;//distance in metres
  6.  
  7.     // Add event handlers for StatusChanged and PositionChanged events
  8.     watcher.StatusChanged += new EventHandler<GeoPositionStatusChangedEventArgs>(watcher_StatusChanged);
  9.     watcher.PositionChanged += new EventHandler<GeoPositionChangedEventArgs<GeoCoordinate>>(watcher_PositionChanged);
  10.  
  11.     // Start data acquisition
  12.     watcher.Start();
  13.  
  14.     //hide button
  15.     btnStart.Visibility = Visibility.Collapsed;
  16. }

This creates a new GeoCoordinateWatcher when the button is clicked with the accuracy set to high, sets a movement threshold allowing movement by 100 metres before the application is alerted and attaches two events. The first event “StatusChanged” will fire when the status of the location data changes (like during initialisation and once we have a location) and the second event handles changes to the current location. We will add the handlers for both in a minute. Lastly we start the watcher and hide the button then wire it up in the XAML to our recently added button’s click event:

  1. <Button Name="btnStart" Click="btnStart_Click" Width="260" Height="40">
  2.     <Button.Content>
  3.         <StackPanel Orientation="Horizontal">
  4.             <Path Fill="White" Data="F1 M 2.339,6.489 C 1.193,5.343 1.193,3.485 2.339,2.339 C 3.485,1.192 5.344,1.193 6.489,2.339 C 7.635,3.485 7.635,5.343 6.489,6.489 C 5.344,7.636 3.485,7.636 2.339,6.489 Z M 11.711,10.209 L 8.185,6.684 C 9.207,4.986 9.000,2.757 7.535,1.293 C 5.812,-0.431 3.017,-0.431 1.293,1.293 C -0.431,3.017 -0.431,5.812 1.293,7.536 C 2.757,8.999 4.988,9.206 6.685,8.185 L 10.209,11.710 L 11.711,10.209 Z" Margin="0,0,5,0">
  5.                 <Path.RenderTransform>
  6.                     <ScaleTransform ScaleX="2.5" ScaleY="2.5" />
  7.                 </Path.RenderTransform>
  8.             </Path>
  9.             <TextBlock Foreground="White" Text="Find Me Now" Margin="20 -5 0 0" />
  10.         </StackPanel>
  11.     </Button.Content>
  12. </Button>

 

Ok, the next piece of the puzzle is to add the event handlers we attached in the button click handler above, watcher_StatusChanged and watcher_PositionChanged:

  1. #region Event Handlers
  2.  
  3. /// <summary>
  4. /// Handler for the StatusChanged event. This invokes MyStatusChanged on the UI thread and
  5. /// passes the GeoPositionStatusChangedEventArgs
  6. /// </summary>
  7. /// <param name="sender"></param>
  8. /// <param name="e"></param>
  9. void watcher_StatusChanged(object sender, GeoPositionStatusChangedEventArgs e)
  10. {
  11.     Deployment.Current.Dispatcher.BeginInvoke(() => MyStatusChanged(e));
  12.  
  13. }
  14.  
  15. /// <summary>
  16. /// Handler for the PositionChanged event. This invokes MyStatusChanged on the UI thread and
  17. /// passes the GeoPositionStatusChangedEventArgs
  18. /// </summary>
  19. /// <param name="sender"></param>
  20. /// <param name="e"></param>
  21. void watcher_PositionChanged(object sender, GeoPositionChangedEventArgs<GeoCoordinate> e)
  22. {
  23.     Deployment.Current.Dispatcher.BeginInvoke(() => MyPositionChanged(e));
  24. }
  25.  
  26. #endregion

You will notice these call two methods when they are triggered, but they ensure that these methods are called on the UI thread otherwise we will get some nasty cross thread errors.

Finally add the two UI thread methods for doing something when the events fire, and a simple ResetMap method that’s called when the user initially clicks the button:

  1. /// <summary>
  2. /// Custom method called from the PositionChanged event handler
  3. /// </summary>
  4. /// <param name="e"></param>
  5. void MyPositionChanged(GeoPositionChangedEventArgs<GeoCoordinate> e)
  6. {
  7.     // Update the map to show the current location
  8.     Location ppLoc = new Location(e.Position.Location.Latitude, e.Position.Location.Longitude);
  9.     mapMain.SetView(ppLoc, 10);
  10.  
  11.     //update pushpin location and show
  12.     MapLayer.SetPosition(ppLocation, ppLoc);
  13.     ppLocation.Visibility = System.Windows.Visibility.Visible;
  14.  
  15.     
  16. }
  17.  
  18. /// <summary>
  19. /// Custom method called from the StatusChanged event handler
  20. /// </summary>
  21. /// <param name="e"></param>
  22. void MyStatusChanged(GeoPositionStatusChangedEventArgs e)
  23. {
  24.     switch (e.Status)
  25.     {
  26.         case GeoPositionStatus.Disabled:
  27.             // The location service is disabled or unsupported.
  28.             // Alert the user
  29.             tbStatus.Text = "sorry we can’t find you on this device";
  30.             break;
  31.         case GeoPositionStatus.Initializing:
  32.             // The location service is initializing.
  33.             // Disable the Start Location button
  34.             tbStatus.Text = "looking for you…";
  35.             break;
  36.         case GeoPositionStatus.NoData:
  37.             // The location service is working, but it cannot get location data
  38.             // Alert the user and enable the Stop Location button
  39.             tbStatus.Text = "can’t find you yet…";
  40.             ResetMap();
  41.  
  42.             break;
  43.         case GeoPositionStatus.Ready:
  44.             // The location service is working and is receiving location data
  45.             // Show the current position and enable the Stop Location button
  46.             tbStatus.Text = "found you!";
  47.             break;
  48.  
  49.     }
  50. }
  51.  
  52. void ResetMap()
  53. {
  54.     Location ppLoc = new Location(0, 0);
  55.     mapMain.SetView(ppLoc, 1);
  56.  
  57.     //update pushpin location and show
  58.     MapLayer.SetPosition(ppLocation, ppLoc);
  59.     ppLocation.Visibility = System.Windows.Visibility.Collapsed;
  60. }

 

These first method MyPositionChanged updates the map by setting the current map view to the new location and zooming in. It also makes the pushpin icon visible. The second method MyStatusChanged simply updates the status text in the UI with a message telling the user the current state of the location services.

Houston we have a problem

By now you should have a finished application the compiles, if not you can download the source code below to see the full code:

butdownloadcode[1]

You can run the application in the emulator by clicking F5 and the map and UI should appear, BUT here we find a problem.

The emulator currently does not support the location service, so all we ever get back is a status change of NoData. There is currently not even any way to add fake data to the emulator so we will have to wait for an update to allow us to actually get location aware applications working in the emulator :-(

So until we can get our hands on some real hardware “Nudge, Nudge”  there is no real way to test this application.

Calling all Silverlight Developers

Thursday, February 11th, 2010

Earthware is an entrepreneurial company specialising in developing online mapping solutions and websites using the latest technologies. Silverlight is proving to be the future direction of our company which is why we are looking for a developer with experience in this technology but with a hunger to learn more both here and in other technologies and to apply this throughout the planning, designing and development process. Other required skills include strong full life cycle Asp.net, C# and WCF, whilst experience with Ajax frameworks, XSLT / XML and unit testing is desirable.

 

If you fit this description and are interested in applying for the position please email your CV explaining how you meet our requirements and giving example projects/URLs to recruitment@earthware.co.uk.

 

All applicants must be eligible to work in the UK. No contact from agencies please.

BBC Show the “Art of the Possible” with Microsoft Bing Maps Silverlight SDK

Monday, February 1st, 2010

At the inaugural Bing Maps User group in the UK, Jim Lynn from the BBC was invited to present on a project that he led at the BBC to explore how Bing Maps Silverlight can be used.  I am not a techie but found this a fascinating exploration into how Silverlight is transforming the online mapping experience.  As a synopsis, Jim spent nearly twelve months on different aspects of this project.  First, he created and loaded Ordnance Survey map tiles into Bing Maps Silverlight to enable deep zoom Ordnance Survey mapping. He then explored how you can integrate geographical based data and information into the maps using examples such as David Dimbleby’s “How We Built Britain” showing the video playing as the marker moves along a path on the map as the video shows him driving down a road.

Jim also separated the Ordnance Survey names layer from the map layer to enable the map to be rotated whilst the names remain horizontal on the page (no mean feat) and embedded deep zoom photographs at their correct geographical locations which cluster to avoid overlapping as you change zoom levels. These embedded photographs can also be ‘flipped over’ to reveal information about the place on the back. He also showed (for a small part of Britain) how the BBC archive can be displayed on a Bing Map.

If you want to talk about how your data/information/business can be brought to life using Bing Maps Silverlight, please contact Earthware for a chat.

Bings Maps Launch Streetside, Enhanced Bird’s Eye and many more new features

Thursday, December 3rd, 2009

After months of biting their tongues, Bing have finally announced their latest additions to Bing Maps by releasing the beta version of Silverlight Bing Maps which features two new map modes (Streetside View and Enhanced Bird’s Eye) plus an Application Gallery and also Photosynth to name just a few.

The entire site is built in Silverlight (although the Bing Maps AJAX site is still available  if for some reason you don’t want to see the amazing new features). Features include:

Streetside: ground level, fully stitched together high res photographs giving a seamless 360 degree panorama.

Enhanced Bird’s Eye: In urban areas: Bing have used high resolution photography and stereo data to create 3D models of locations and placed them into the 2D interface of a webpage but with 3D aspect ratio from Silverlight 3. In non-urban areas: Bing have used their satellite imagery and aerial photos and re-projected the Earth to give a better perspective of the world.

Application Gallery: a catalogue of all the Bing Maps applications creating a simplified search and bookmarking function.

Photosynth: now fully integrated into the maps so you can fly in from space straight into your next door neighbours lounge(!) (but only if they have created a synth of course).

Simultaneous Multiple Searches: perform multiple searches within one map to discover all you can (tweets, blogs articles, local businesses, imagery etc)about a location without leaving the map.

Local Search Integration: Bing Local Search fully integrated into Bing Maps (the opposite has been available for a while).

Simplified Navigation: The navigation buttons have been moved to the bottom of the page and you can select Automatic (based on user feedback), Road, Aerial or Bird’s Eye or Streetside (our new friend ‘Blue Man’) views.

Integrated 1-Click Directions: if you know where you’re trying to get to, search for the location and select directions to get there approaching from the north, south, east or west.

Route Query Parsing: if you are planning to drive from, for example, Seattle to San Diego just enter “Seattle to San Diego” in the search box and get point to point driving directions.

Auto-Location Detection: when you load Bing Maps in Silverlight the site will automatically detect where you are located and centre the map to show your current position.

Weather: weather information has been embedded into the maps allowing you to view the latest weather conditions at your current location (using the auto-location detection) or for the location you are searching for.

Images: Bing Image Search has been integrated into Bing Maps giving you instant access to images of the location you are searching for.

Defined Regions Query Parsing: search for a neighbourhood within a city, for example, “San Diego Gaslamp,” and the map will centre on that neighbourhood and highlight the area on the map.

For a full list and description of the new features read Chris Pendleton’s blog or if you would rather watch a demo click here.

The Earthware team has been eagerly awaiting this latest offering from Bing Maps. The enhanced functionality is set to make displaying and searching for location based information much more simple. We know the Bing Maps team have been working very hard to develop this and we congratulate them on what they have achieved.

If you are interested in creating a map using Silverlight (or any other mapping API) to display your information then please drop us a line at info@earthware.co.uk.

Come and meet Earthware at upcoming Bing Maps developer events

Sunday, November 15th, 2009

We live in exciting times as Bing Maps developers, and these next few month look to continue to be exciting as we have two upcoming developer events to attend.

The first event is the Microsoft Bing Maps developer day on 25th November in Reading which you can register for here http://is.gd/4NFjv. Come and hear Earthware’s Brian Norman talk about our experience developing the Bing Maps World Tour application for Microsoft. Also speaking are the excellent Johannes Kebeck (Microsoft) and Ricky Brundrit (Infusion Development). If you haven’t had much time recently to keep up with the latest releases, especially the Silverlight control then it’s and event not to miss.

The second event is even more exciting for us as it has taken a long while for a UK Bing Maps developer community to emerge but it looks like we are there now. Put the evening of 13th January 2009 in you diary now as it will be the first meeting of the Bing Maps UK User Group! This will be an opportunity for us developers to really kick back and geek out on Bing Maps, with free beer and pizza to set the right mood. This is a community run event, the first meeting being sponsored by Microsoft, which we hope will inspire us continue to create great Bing Maps applications here in the UK. Register for the event here http://is.gd/4VpOs.

Come and meet Earthware at upcoming Bing Maps developer events

Sunday, November 15th, 2009

We live in exciting times as Bing Maps developers, and these next few month look to continue to be exciting as we have two upcoming developer events to attend.

The first event is the Microsoft Bing Maps developer day on 25th November in Reading which you can register for here http://is.gd/4NFjv. Come and hear Earthware’s Brian Norman talk about our experience developing the Bing Maps World Tour application for Microsoft. Also speaking are the excellent Johannes Kebeck (Microsoft) and Ricky Brundrit (Infusion Development). If you haven’t had much time recently to keep up with the latest releases, especially the Silverlight control then it’s and event not to miss.

The second event is even more exciting for us as it has taken a long while for a UK Bing Maps developer community to emerge but it looks like we are there now. Put the evening of 13th January 2009 in you diary now as it will be the first meeting of the Bing Maps UK User Group! This will be an opportunity for us developers to really kick back and geek out on Bing Maps, with free bear and pizza to set the right mood. This is a community run event, the first meeting being sponsored by Microsoft, which we hope will inspire us continue to create great Bing Maps applications here in the UK. Register for the event here http://is.gd/4VpOs.

Great Example of Using Overlays and Heat Maps in Microsoft Bing Maps

Thursday, October 22nd, 2009

At Earthware we are always on the lookout for Microsoft Bing Maps (formally Microsoft Virtual Earth) implementations that use mapping to display useful information in a really intuitive way.  We are especially keen to see overlays (or heat maps) being used in Bing Maps.
 
We came across a good example the other day that uses Bing Maps to plot crime statistics for the UK. Please take a look at http://maps.police.uk/.
 
Our view is that the interface is simple enough and we like the subtle use of a gun sight for showing you where the centre of the map is. If we had any suggestions it might be that the polygons can get a bit ropey at the lowest zoom levels and the use of shaded grey rather than two tones is not as visually differentiated as it could be. We might also suggest adding the ability to see crime statistics for neighbouring counties when you are close to a border.
 
However, great idea, nicely implemented – congratulations to those involved in the project.
 
As always, if you are reading this article and are interested in creating heat maps in any mapping API (Bing Maps, Silverlight, Google Maps, Multimap, MapPoint etc.) or just want to see how you could use interactive mapping to display your information then please drop me a line at neil@earthware.co.uk.

Bing Maps Silverlight control – top 10 wish list for release

Monday, June 22nd, 2009

UPDATED: As recommend by SoulSoltions in the comments I have marked each wish by whether it should be in the core control or in a separate toolkit (IMHO)

We have spent the last month working with the current Bing maps Silverlight CTP control (formally Virtual Earth) to create the new Bing Maps World Tour application which has been a really great experience. The current Silverlight control opens up a whole new world of possibilities when creating rich mapping solutions but as always we want MORE!

 

Here is our top 10 wish list for features and tweaks to be in the final map release in no particular order:

 

1.     Custom map view animations – include in core
Being able to quickly customise the speed and style of animation the map uses when navigating between map views would be great and allow developers and designers to add their own unique touch to their mapping projects.

 

2.     A basic pushpin & infobox control – include in toolkit


The Silverlight control team have deliberately left the creation of pushpins and popups to developers and designers as this gives us complete control and flexibility which is great and something missing from the current Ajax control. However, we can see some good reasons to have a basic pushpin and infobox offered by the final control release.

Firstly for new Silverlight developers coding a pushpin and infobox that works the same as the Ajax pushpin control is not a simple task so having a basic control they can style or build upon would allow people to get simple applications up and running faster.

Secondly for experienced developers being able to inherit from built-in controls will save a lot of repeated coding in different projects.

 

3.     Easy to style navigation controls – include in core
You can currently style the navigation controls, but getting access to this functionality is not straightforward (hopefully we will blog a tutorial on this soon). Being able to just apply a style or custom template as for normal Silverlight controls would be brilliant.

 

4.     Bird’s eye imagery – include in core


It goes without saying that Bird’s eye imagery is one of Bing maps greatest features, we hope it will make it into the first official release.

 

5.     Clustering – include in toolkit
Having a basic but extendable clustering solution would again help new and experienced developers quickly get applications online.

 

6.     Built in routing – include in toolkit
Although routing can currently be achieved quite simply using the examples from the interactive sdk, having this functionality built-in would save a lot of time and effort and again make it more open to new developers.

 

7.     Real time zoom level range data – include in core
The CTP release improves on the Ajax control by restricting zoom levels when the higher zoom levels are not available at a location. This is a great start but the data for this is not very detailed and you will still often get the dreaded camera icon appear.

Being able to get more detailed data, ideally in real time would be an excellent addition to the control ensuring we banish the camera icon forever! 

 

8.     Drawing controls – include in toolkit
Something that has often been requested for the ajax control is an officially supported set of drawing controls allowing polyline and polygon drawing as on bing.com. Having these available first in the Silverlight control would be great especially as it should be easier in Silverlight than it is in cross browser javascript. 

 

9.     KML / GeoRSS support – include in toolkit
The ability to quickly load a georss or kml file into the ajax control has been a massive help to new users and those of us wanting to quickly generate a map from existing content. Having this in the Silverlight control would encourage people to use the new control more as mashups would be quick to create.  

 

10.  Modular design
One issue with the ajax control has been that you need to download all the control code even if you don’t want to use all the features in your project. With the current Bing Maps Silverlight control dll coming in at 489kb it would be good to be able to optionally include features by having different dll’s for separate parts of the control. Another option would be to support assembly caching for the Silverlight map control similar to that in Silverlight 3 for the core framework dlls.

 

It was actually pretty difficult to come up with 10 sensible wishes as the current control has so many great features already. It would be great to see these all release but I have no doubt they are not all, if any, on the release list. Hopefully those that don’t make it might become part of the new direction that the codeplex project DeepEarth is taking, by creating a collection of reusable map controls in Silverlight.

 

We would love to hear comments about your own suggested features to see what the community as a whole want to see developed, so please add your comments below.

Earthware develops ‘Bing Maps World Tour’ for Microsoft

Monday, June 22nd, 2009

The Microsoft Bing Enterprise Mapping team approached Earthware two months ago, with an idea to communicate their monthly imagery releases to clients and partners in a more visually engaging format.

With each month’s imagery release potentially covering hundreds of updated locations worldwide the current system of publishing a simple list of all the locations was not demonstrating the full impact of each release. Microsoft was also keen to use their latest Bing Maps Silverlight control, to create a visually rich interactive mapping application which could be both a showcase for the monthly updates, and the possibilities that Silverlight and Bing maps can offer.

Microsoft were also keen to host the new application on the Windows Azure platform to show the flexibility of combining Azure services with the Bing Enterprise maps.

Windows Azure Development    Bing Maps     Microsoft Silverlight Development

Why Earthware?

Earthware already had extensive experience with Bing maps and the new Silverlight control after taking part in the closed beta program in early 2009. As part of this Earthware produced a Twitter map demo application which Microsoft demoed as part of the Bing Maps Silverlight control’s release publicity. The Twitter demo also used the Azure platform.

What did we deliver?

Bing Maps World Tour

  • A visually rich mapping application using Microsoft’s Bing Maps Silverlight Control and hosted on the Windows Azure platform.
     
  • A secure back office administration area to allow the Microsoft team to quickly, and easily, add and update monthly imagery release information.
     
  • A back end database built upon the Windows Azure table storage service.
     
  • The entire first release of the Bing Maps World Tour application was delivered in less than six weeks and in time for the challenging May 2009 imagery release deadline.
     

Try the finished Bing Maps World Tour application for yourself on the Bing Maps Website or read more about the application at the official Bing maps blog. You can also see the reaction of the developer community to the applications release on twitter.

If you are interested in Earthware helping you to create similar interactive animated mapping applications for your products please visit our interactive mapping consultancy page.