Enable Offline Storage for Maps Control Tiles
The TileSource class enables developers to provide custom tile sources for the Bing Maps control (such as OpenStreetMap), but requires an absolute URI to provide tiles. Given the frequently disconnected nature of WP7 applications, it would be better if it was possible to provide tiles from isolated storage to enable map downloading and access to maps when offline.
Thanks folks for the commentary.
I’m marking this as ‘Under Review’ and changing the title to better reflect the commentary in the thread (which differs from the title of the suggestion).
You can do this now by using the LocalMapTileDataSource, or by extending the CustomMapTileDataSource class and storing the tiles in isolated storage.
also see the following opensource project in case it helps:
Update 2014/11/19, Version 2.4.0 - TileImageLoader of the WinRT version now supports caching of map tiles to local image files and to a FileDb file. The cache functionality is defined by the interface IImageCache (in namespace MapControl.Caching) and implemented by the classes ImageFileCache and FileDbCache in libraries ImageFileCache.WinRT and FileDbCache.WinRT. Local image files are written to the ApplicationData.Current.TemporaryFolder by default.
Any updates about this?
Cliff, can you please give an update on this? Is this maybe on a roadmap for the next version of the SDK? Its very important for us and we are currently spending lots of time to find workarounds, but none of them are really satisfying.
Any news on this?
Any progress or update on this? We are doing gps-software on windows-pc since 15 years and would love to develop a WP8-app as a mobile front end, but these two issues:
- base layer cant be disabled
- no offline tiles
are show stoppers for us.
Before I start with workarounds I just would like to know, if there are some improvements planned to the map-control.
Daniels Danilins commented
Currently I'm using StreamSocketListener on localhost to workaround offline tiles issue. So it is not so urgent for me. But I have another 2 show stoppers. Without them I will have to use the old map control. First, it is not possible to add a route with custom points to map (without using RouteQuery, for example if your App offline or you already has the path coordinates). Second, not possible to disable base tiles layer and street names.
I have created an "idea" for the first one, but it does not get many votes. http://wpdev.uservoice.com/forums/110705-app-platform/suggestions/3351645-create-a-new-route-object-without-using-routequery
I suppose not because people don't want this, but because it is hard to find.
Hi folks, now that I have time to give UserVoice some update love, I did a couple things here:
- Changed the title to reflect the tiles focus of this request
- Changed the title to reflect the Maps control (as opposed to focus on Bing Maps control, which isn't getting much dev focus)
- Toggled the status back to 'Under Review'
As always, thanks for the commentary and keeping us honest. :)
Daniels Danilins commented
New map does not allow to remove the base layer. All labels are painted over custom tiles.
The new map control is not usable! The old control was better. Please remove the obsolete from old map.
Douglas Laudenschlager commented
Local Uris are not supported for TileSource in Windows Phone 8. I have requested that we remove the "Completed" status from this request.
http://greatmaps.codeplex.com doesn't support W8 or WP8, right?
Cliff, this item is not completed as far as anyone can tell. No Topo, no FAA, no nautical charts, no GIS on WP8 without this feature! This a big hole, easily filled if you provided custom tile sources with the ability to specify isolated storage Urls.
use http://greatmaps.codeplex.com instead, supports caching and cutom tile providers
Dear MS.. this is NOT yet done! Or if it is.. please document it!
We have our own tiles and GIS data to display!!!!
Please show us how we can consume it in offline/cached scenarios.
There is no documentation regarding how to access offline, local tiles for custom tile layers in the WP8 map control . How is this done?
Daniel D commented
The workaround would be sockets that can listen for local incoming connections. This way we could build a local http tiles server. But there is no listen method in current sockets :(
Yep either isostore of file uris should work when a tile exists in isolated storage. Except they don't...
Martin Ra commented
Fully agree, the isostore:/xxx scheme should work there, too
That's what I liked about my old Nokia phone - offline map data. Currently with WP I always have to worry about roaming costs in Europe. You can spend a lot of money on this when travelling to nearby countries. Besides: ever tried going online somewhere deep in a valley while hiking?
"isostore:/xxxx.aaa" schema doesn't work