GNOME Bugzilla – Bug 708799
Download maps to local storage for later viewing
Last modified: 2018-03-26 12:30:09 UTC
Gnome Maps lacks the ability to download maps to local storage to conserve bandwidth later (if you're on a metered mobile connection, for instance). - This is a feature that would make a user more likely to use Maps instead of opening a web browser to Google or OSM since Maps would always be available for use because it wouldn't require an always-on internet connection. - This wouldn't add much in the way of the config menu/option clutter. It could just be a button in the main window to download the map (w/ modal dialogue for radius?), and a config menu option group for when to use local data vs. fetching from OSM, and if/when to auto-update the local map. - A visible icon might be shown in the main window if the map is known to be out-of-date.
(In reply to comment #0) > Gnome Maps lacks the ability to download maps to local storage to conserve > bandwidth later (if you're on a metered mobile connection, for instance). > > - This is a feature that would make a user more likely to use Maps instead of > opening a web browser to Google or OSM since Maps would always be available for > use because it wouldn't require an always-on internet connection. > I can't agree more! (glittah was kind enough to write this bug up in response to an internet comment I made) Looking at past devices, the N900 Maemo Maps application had this feature. You had the option to download data per continent IIRC. North American users could limit their download to the X GB for North America if they decided they didn't need offline European map data and vice-versa. A per country option would be great too, but I'm happy to deal with the entire volume if necessary. See: http://wiki.openstreetmap.org/wiki/Planet.osm#Downloading Cheers!
We (the current maps developers) have been talking about this idea in the past, but it's currently not on the 3.12 roadmap, since we have to fix a bunch of more basic things first. https://wiki.gnome.org/Apps/Maps/Roadmap That said, I think this is a great idea and if it's something someone wants to hack on, I'm more than happy to help with the design part of it. Ḯ've linked to this bug report from our roadmap page.
(In reply to comment #2) > We (the current maps developers) have been talking about this idea in the past, > but it's currently not on the 3.12 roadmap, since we have to fix a bunch of > more basic things first. https://wiki.gnome.org/Apps/Maps/Roadmap Awesome, can't wait to have the offline-maps feature! > > That said, I think this is a great idea and if it's something someone wants to > hack on, I'm more than happy to help with the design part of it. Just had a quick look at the code. Will GPL3+ patches be accepted? I hate to have to ask, sorry. Any reason why a new GNOME app isn't 3+ from the get go ? > > Ḯ've linked to this bug report from our roadmap page. Great! I added a few extra comments from what we wrote above.
As Andreas already said, this is very much in our roadmap and many people have asked for it (kudos to be the first one to create a bug about it). I actually would want to work on this in 3.12 cycle but I'm afraid I might not be able to get any time for it. One issue with implementing this that Mattias has been rightfully stressing about is the amount of data could easily be way too much due to our (and libchamplain's) current direct usage of pre-rendered tiles. The data for a single big city like Berlin could become GBs. That said, implementing client-side rendering would be a big project and currently none of us have time for that. Nonetheless, this should not stop us from implementing this feature but perhaps we could warn the user if he/she chooses a too large area to cache. Oh and BTW, we already do have caching of maps in libchamplain, its just implicit and user does not have direct control over which areas should remain in cache and which not.
I would also like to work on this, if time allows. Maybe a start would be to break down what needs to be done and where. In a nice way so that it's easy to contribute to parts of the solution. I guess patches need to go to libchamplain, Maps and I guess maybe geocode-glib to make this happen in a way that would be nice.
I haven't had much time today to work on this, but I did notice that OSM does use diffs on some of their mirrors. This would make updating local storage much more convenient, especially on slow and metered connections.
Sorry, forgot to add link: http://wiki.openstreetmap.org/wiki/Planet.osm#Downloading
(In reply to comment #7) > Sorry, forgot to add link: > > http://wiki.openstreetmap.org/wiki/Planet.osm#Downloading Isn't that about the vector data? We are currently using pre-rendered tile data in the form of PNGs and as I said in comment#4, moving to vector-data (i-e client-side rendering) will be big project to undertake.
Ahh, the perils of skimming. I'll do some more serious research when I'm not so busy. Good to keep in mind if/when client side rendering materializes.
Could be LibMemphis https://trac.openstreetmap.ch/trac/memphis/wiki/LibMemphis used for client-side OSM vectors rendering?
(In reply to comment #10) > Could be LibMemphis https://trac.openstreetmap.ch/trac/memphis/wiki/LibMemphis > used for client-side OSM vectors rendering? Surely but we contacted the author and seems this is more or less abondonware (even the link above was broken for a long time until a few days ago) unless someone steps up to develop and maintain it. We already have a memphis-based source in Champlain even but we were thinking of removing for now because of libmemphis being unmaintained. If i understood correctly Mattias has look into that and he still though that its going to be a very big project. He can shed more light on that.
I haven't looked at Memphis much at all, I tried the demo included in Champlain but I couldn't even get it to render a map. No idea if I did anything wrong or not.
I will add my 0.02$ here. I saw a proposition to download a continent/country/city as a whole. Another possibility would be to let the user draw a rectangle on the map and to download all the tiles to a certain zoom level (also chosen by the user), with an evaluation of the amount of storage necessary. I think gmaps on android implements something like that.
Some thoughts on this jotted down in wiki: https://wiki.gnome.org/Apps/Maps/ClientSideRendering We will try to make a push towards this in the 3.18 cycle.
It would be very useful if it were possible to save a list of directions to local storage (as a PDF file for example). Currently (3.16.2) it doesn't seem possible even to copy/paste the directions list.
This is another issue. Please fill a new bug report
Just for the record 'caus I was surprise not to see it on the wiki page or here, osmand (http://osmand.net/ https://github.com/osmandapp/Osmand https://f-droid.org/repository/browse/?fdfilter=osmand&fdid=net.osmand.plus) allow on android the download vectorised map and render it offline + offline routing. If I remember it's GPLv3, so would'nt be possible to use some of osmand code to implement this feature here ?
Created attachment 309143 [details] [review] Add file tile source
Created attachment 309144 [details] [review] Add --offline switch to open local tile directory If one have access to a directory structure such as my_tiles//zoom-level/x/y.extension Then one can point maps to it as: $ gnome-maps --offline /path/to/my_tiles And view them, online or offline.
This is a start of sorts. Be able to view tiles one has already downloaded in some sort of bundle. This needs review it was done a bit hastily. But with your help we could get it into 3.18.
Created attachment 309145 [details] [review] Add file tile source
Created attachment 309146 [details] [review] Add --offline switch to open local tile directory If one have access to a directory structure such as my_tiles//zoom-level/x/y.extension Then one can point maps to it as: $ gnome-maps --offline /path/to/my_tiles And view them, online or offline.
Created attachment 309154 [details] [review] Add file tile source
Created attachment 309155 [details] [review] Add --local switch to open local tile directory If one have access to a directory structure such as: my_tiles//zoom-level/x/y.extension Then one can point maps to it as: $ gnome-maps --offline /path/to/my_tiles And view them, online or offline.
Created attachment 309157 [details] [review] Add file tile source
Created attachment 309158 [details] [review] Add --local switch to open local tile directory If one have access to a directory structure such as: my_tiles//zoom-level/x/y.extension Then one can point maps to it as: $ gnome-maps --offline /path/to/my_tiles And view them, online or offline.
This can be tested by: $ jhbuild run gnome-maps --local $HOME/.cache/champlain/osm-mapquest
-- GitLab Migration Automatic Message -- This bug has been migrated to GNOME's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.gnome.org/GNOME/gnome-maps/issues/1.