This blog post was authored by Mike O'Malley, a program manager on the Windows Phone developer tools team.
One of our main goals of the new Windows Phone map control is the seamless integration across our platform. Our users should expect to have the same map experience no matter where they use a map on Windows Phone 8.
To accomplish this, we decided to share the same core map control across our built-in experience and apps. The first difference you'll notice with the new control is that it does not run in the designer. This is because the new control is not all managed code, and it uses the new map platform included in the Windows Phone 8 OS. Thus, it is not available at design time like the browser control. For that small design-time price, we are able to give developers access to a ton of new and unique features, such as vector rendering, sharing of offline maps, responsive gestures, no lag markers, high frame rate rendering, and many more.
All this was made possible by our close collaboration with Nokia. We integrated Nokia's core mapping technology into the Windows Phone OS. One of the unique features is shared offline maps and map caching. When a user downloads a region of maps for offline use through the Map Downloader included in the OS, those offline maps are also available to all consumers of the map control. The Map Downloader is also available as a task API that apps can launch. Finally, if a map control in an app needs new data that is not already present on the device, the data is downloaded once and subsequently made available to all map control app consumers via a shared map cache. This allows us to conserve the user's valuable cellular data allotment.
All apps have access to offline maps – pretty cool! There is also something special about the APIs for geocode (address to coordinate), reverse geocode (coordinate to address), and routing. These are hybrid online/offline APIs; the platform determines whether each request should go online or use offline map data in the shared map cache.
Readers with world readiness in mind are probably thinking: This is neat, but will it support all the countries I sell my app in? Another great benefit of integrating Nokia's mapping technology is the huge number of countries and languages they support. You can check out the details at Nokia conversations. Nokia has broad global coverage and plans to keep the map data fresh with multiple updates every year.
In my next post, I'll cover how to use the new map control and Silverlight toolkit extensions to display locations on a map and get directions (including turn-by-turn) on all Windows Phone 8 devices.
Mike, you wrote: 'Developers who want to remove the base layer and show an alternate sourced base map should continue to use the Bing maps control.'
I have spent hours trying to incorporate the Bing maps control in a WP8 app because I need to use custom tiles and switch off the base layer. The control's namespace doesn't exist in the WP8 SDK and I cant seem to find any NuGet packages for the old control. Furthermore there's nothing on the net describing how to accomplish this. Please could you point me in the right direction in this regard?
Thank you for the feedback. We’ve heard the feedback loud and clear about tile source scenarios over at UserVoice - http://aka.ms/v2fmsy.
The tile source implementation on the WP8 map control was targeted at allowing developers to augment the base map with an online tile overlay.
Developers who want to remove the base layer and show an alternate sourced base map should continue to use the Bing maps control.
As for offline tiles, neither control has a solution in WP8 for this. I have seen one solution which used the tile source callback to add an MapOverlay of the tile.
I sustain the others opinion.
The 'new improved' map control is anyway worst than the 'old' map control for certain scenario.
What devs and business where expected was that the old one to be improved: supporting offline tiles from isolated storage. Perhaps other features.
Offline capabilities for custom tile sources is in my opinion one of the most requested and important feature.
The new control is a step backwards.
- No custom offline tiles.
- Can't remove the base tiles layer.
- Can't add custom or offline route (not one created online by RouteQuery) wpdev.uservoice.com/.../3351645-create-a-new-route-object-without-using-routequery
- Documentation is unusable. Please add samples for TransformCenter.
- If pitch is over some big value the map stops to update its position on SetView()
Unfortunately you made a step backwards as there is no way at the moment to use the new control with another Web Mapping Service like openstreetmap, google or any custom one. I've written an artical about How to use a custom Base Layer in Windows Phone 8 and 7 by using the 'old' map control. themightyhedgehog.blogspot.de/.../how-to-use-google-maps-in-your-own.html
Are you planning to add this functionality at some point?
Is it possible to use your own images from isostorage with the new Windows Phone 8 map control TileSource? It was not possible on WP7.
The idea is to provide offline functionalities (using custom tilesources (openstreetmap, for example)). Who knows… maybe in-app map purchasing ;)