Reuse tiles for different zoom level

Jan Breuer shared this idea 9 years ago
Completed

This feature is for example in MapsForge AdvancedMapViewer. Zoom in or zoom out reuses already rendered tiles but resized to appropriate zoom level. These resized tiles are covered by appropriate zoom level during rendering/downloading. This could take long time, but map is still usable.

Comments (15)

photo
0

A smooth zoom? Yes i read this idea here(?). or in the forum already.


...can`t find the posting, damn.

photo
0
photo
0

"Reuse tiles for different zoom level"


Unless I misunderstand, that is exactly what is taking place when you click the button in the lower right hand corner of the screen (lock icon), and then zoom.

photo
0

yes, that`s it


tommi62:"Seems it first stretches/shrints the display of the current zoom level and later changes to the new zoom level."


thats what I mean


but this can be generalized, I suppose, that Locus have downloaded/rendered more, then the exact display at current zoom level.

photo
0

I think the idea is good, when you do not have live access and you have stored bits and pieces of map tiles with different zooms. Then, instead of showing an empty tile, a zoomed (in or out) tile could be shown.


This is also good when the live maps are slow, you would still have a complete map even if some tiles were zoomed.

photo
0

i complelety agree. nothing is more useless than an empty tile saying "loading" or "unknown problem" or "connection failed". and believe me, that happens *a lot* in the mountains and it has been getting on my nerves a lot.


have that area cached at a better zoom? zoom out and use it!


have that area cached at a worse zoom? zoom in and use it!


only as a very last resort when really no other data is available, you may show us an empty tile.


we still want to see whats going on, so the "Loading..." texts would be written on top of the zoomed tiles. note that for any text your write on a map, you must use some funky text style (black text with white outline or so), otherwise it will be mostly invisible. locus suffers from this in other places as well.


you could also also slightly(!) darken the "temporary" "fake" tiles as to make it more obvious to the user what is happening.

photo
0

This would be great if it applied to all layers independently (if that is possible). For example, you could have a hill shade layer at all zoom levels, even if you only have a few zoom levels saved offline. I expect a hill shade layer which has been enlarged/shrinked will not look much different, and will save on a lot of memory.

photo
0

could we at least get a "planned" on this, please? :)


menion, i suggest disabling your 3g network and using gsm only for a while. clear your cache before as well. and you might want to install one of those "bad reception" emulators that disable the internet every couple of seconds just for fun.


obviously, sitting on your couch or strolling through your town within perfect and speedy 3g range, you have no idea how much locus users "in the great outdoors" are suffering from "uselessly empty squares". and we would suffer a bit less if locus only was more robust!

photo
0

hehe :) I`m marking ideas as "Planned" if I know how to do it and only problem is time or priorities. In this case, I still have no simple idea how to create this in my map system, so I don`t want promise this.


11 votes isn`t bad and I understand your concert, but biggest problem in the wild then slow internet, is by me internet itself, so that`s why there is so much possibilities for downloading online maps.


Anyway, I fully understand. When this topic became one of most stared and most wanted, I`ll have to look at it, I know :)

photo
0

unfortunately, my preferred online map (osm hikebike) doesnt allow downloading anymore :(. plus i never know in the morning where i will end up in the evening :)


i suppose its the same with "prefetching" tiles? ie the server owners would get angry at you if Locus was prefetching not-yet-visible tiles by some intelligent algorithm?

photo
0

an "intelligent" prefetching algorithm could eg be:


a) somehow find out the "general direction of movement" (north, east, west, south, northweast, etc) on a day by looking at the recorded points so far.


b) whenever the internet is "good", fire off prefetching of many tiles in calculated direction, first in current zoom level, then in others.


this would all have to be automated and run silently in background, no user interaction required.


but i assume the server operators might not want this. whats the deal anyway? you are only allowed to download what is currently visible on screen?

photo
0

Partial quote from Joeloc: obviously, sitting on your couch or strolling through your town within perfect and speedy 3g range, you have no idea how much locus users "in the great outdoors" are suffering from "uselessly empty squares". and we would suffer a bit less if locus only was more robust! END quote.


I think you cannot blame Locus for bad data connections in the mountains but instead you can use Vector Maps.


And yes, also then, I often see "Loading" when zooming, but any solution that asks for more memory will not have my vote.


I rather look around and enjoy nature and voila, there is my zoomlevel allready.

photo
0

I`m just working on some render speed optimizations of vector maps. As a side effect I started to work on this, because I agree that it`s missing in Locus a lot. And in the end, is finally done quite fast and working solution that works for all online and vector maps.

photo
0

Some versions ago the main (as I think) problem was solved - now Locus can zoom-in tiles. But only showing on-screen, it cannot scroll or zoom-out. I thought it`s not big problem and was waiting it in new releases, but now I see question is marked "implemented".. It`s too difficult to use stored tiles for zooming, only visible ones?

photo
1

hello wolodik,


unfortunately in system I created it`s not so simple to make also this idea. At least not one evening task. As I ready description of this idea, then "implemented" is correct, because it works in this way now.

Replies have been locked on this page!