Search code examples
androiddictionaryopenstreetmapoffline-mode

Offline maps OSM


I am a bit stuck with an idea of offline maps in android application.

I want to use Open Street Maps. But how can I redesign their styles and then use in my project? By the way, the resource, I am looking for, has to be free..

Are there any good tutorials about this? I am new to this, so would be thankful for any helpful information.


Solution

  • Here are the basics:

    Raster tiles are awful. To my mind, this approach of mobile mapping is very old-fashioned and has no advantages (unless your plan is to make a very bad-looking application).

    The other thing is vector tiles. All the data is saved in much more efficient way and can be displayed very beautifully.

    And the solutions (nominees) are:

    1. Mapsforge - thanks to @dkiselev
    2. OSMAnd app - thanks to @dkiselev
    3. Mapbox GL (the android version has no releases now, but they are working really hard on it). If you really like mapbox, you can think about Mapbox Android SDK, which uses raster tiles, but I believe, that switching to Mapbox GL will not be that hard, when the GL lib will be released.
    4. AirBNB AirMapView - open source and has release version
    5. Urban Labs Sputnik Demo - also interesting solution, but I didn't use it.
    6. Mapzen Open - open source android app, that uses all the best from everywhere. - winner!

    And by the way, mapbox gl actully allows rendering your own mapping data (from your own provider). There is a closed issue on github about that, opened by me couple of days ago, and very good answer by one of the project developers.

    If you don't care about using your own data source and want to rapidly implement custom (not google/apple) maps into your project - there are dozens of solutions for you as well. You could think of Mapbox, Scobbler, GetYourMap or, again, just google it to find more. There is actually a great article on OSM website about most popular libraries and apps for android ever developed.

    Finally, I wish you good luck with your mapping project. And never forget:

    if you can't find something doesn't mean it really doesn't exist - probably you've just been searching not enough.