Git Product home page Git Product logo

Comments (10)

jezhiggins avatar jezhiggins commented on September 22, 2024

Both these look pretty cool. My initial impression is that mapsforge is the more interesting, but that might just be because they have better literature. Aside from reduced network traffic, nicer zooming, and so on, both also make big play of offline map caching and rendering which would also be a plus for us.

I do wonder using one of these components (or something like it) would lead us towards having to provide out own map data server. I don't know whether that's a worrying prospect or not :)

from android.

mvl22 avatar mvl22 commented on September 22, 2024

We'd definitely look into running a mapserver if that's required for this.

If you're able to look into the feasibility of using the software then we can take the mapserver side investigation forward.

from android.

jezhiggins avatar jezhiggins commented on September 22, 2024

Mapsforge have just released data for the Great Britain and it is fantastic. Even on my Elonex tablet (which is woefully underpowered) the rendering is quick and it looks absolutely spectacular. On my Desire, it renders as fast, if not faster, than osmdroid can pull tiles from the cache. It's a remarkable piece of work, and I'd love to get it into CycleStreets. The one obvious downside is that it isn't set up to incrementally download map data - you need to grab it in one lump.

from android.

mvl22 avatar mvl22 commented on September 22, 2024

Yes, that looks very good and should definitely be the next major feature, before we add satnav etc.

How about adding that once the waypoint system in place?

I think that in terms of the 372M download size, that is doable if we:

  1. Implement a setting that says "Use vector maps when available and download updates when connected to wifi", defaulting to no. But:

  2. Ask the user when they first start the app whether they would like to download the vector package. This basically was the effect of switching on the setting.

  3. Download it in the background when connected via Wifi.

  4. Have the app switch to the vector mode when (a) the file is fully-downloaded and (b) the map is in the GB area. It's useful if the photomap can be viewed outside the GB area.

We should host the greatbritain.map download from a server we host - we shouldn't freeload from the mapsforge server, and we want to guarantee a stable URL.

from android.

jezhiggins avatar jezhiggins commented on September 22, 2024

Got the Mapsforge stuff going at the end of the hackday - and by going I mean the maps rendered, panned, and zoomed, but none our overlays were hooked up.

This involved small patches to both Osmdroid and Mapsforge. I'm going to submit them upstream, but in the meantime I've mirrored their Subversion repositories into my Github account so that we can build our own patched jars without having to wait for the patches to be accepted, make it into a build, and so on.

from android.

jezhiggins avatar jezhiggins commented on September 22, 2024

I've started to get the overlays to render to over the mapsforge base layer. It's still extremely unstable, because some of the glue code is stubbed to null, and none of the touch gestures are hooked up at all. However, it shows that this will work, and it's now just a SMOP :)

from android.

jezhiggins avatar jezhiggins commented on September 22, 2024

Made some good progress last night - got routes drawing over the Mapsforge base, location follower hooked up ok.
Looked at hooking up the touch events on the train this morning, noticed something in the OSMDroid code, and had decided to change my approach.

OSMDroid's support for Overlays is, currently, much stronger than Mapsforge's. It propagates all the touch and scroll events, and so on, so was looking to add that support to Mapsforge. While reading the OSMDroid code, I noticed that it farms out it's tile rendering to an overlay (or in this case, an underlay). I don't remember seeing that before, so it may be a recent change, or I just hadn't noticed. Anyway, if I can get the mapsforge render to work in an overlay, the amount of glue code needed drops pretty radically, the size of the patches against OSMdroid as reduced, and it might be that Mapsforge doesn't need patching at all. So that's where I'm heading now.

from android.

jezhiggins avatar jezhiggins commented on September 22, 2024

Got initial implementation going - the map draws, the scale is right, it's centred properly. Zoom works, although the animation is wrong. Doesn't pan yet. Really rather pleased. Unfortunately might not have time to finish off for a few days - other things are pressing.

from android.

jezhiggins avatar jezhiggins commented on September 22, 2024

As of now this is in my development builds

from android.

jezhiggins avatar jezhiggins commented on September 22, 2024

And released in 1.4

from android.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.