The OSM APIs themselves are RESTful APIs, you can interact with them using standard HTTP requests. The main OSM Api is generally used to interact with OSM data and is used to make editors. If you want to just fetch osm data (like specific POIs) i recommend you take a look at overpass api. Please remember that with OSM you have access to the underlying map data itself unlike Google Maps and these are API to access those. If you just want map tiles or routing functionality check out the options below.

For offline maps using OSM data i find three libraries very much useful.

osmdroid: I use this library if i have to work with tiles that are in mbtiles format that i generate using tilemill. There is a bonus library for routing called osmbonuspack that adds lots of routing and POI functionality to this library. Also mapbox has released Mapbox Android SDK based on this library. I haven’t tried it but it may be worth a look.

mapsforge: I use this library when i need to have the map data in vector format and also because it works with another great library called graphhopper in android application development.

graphhopper: I use this library for offline routing using osm data. This is a lightweight java routing library which work for android as well.

I suggest you take a look at these libraries if you want to use OSM with android. Also after you get somewhat familiar with these libraries i suggest you take a look at the code for popular android based tools for osm like osmand, osmtracker and Vespucci


Location: Perry, Houston County, Georgia, 31069, United States

Comment from Framstag on 16 May 2015 at 14:19

Libosmscout also supports android development via Qt

Comment from 嗜血的蟒 on 8 June 2015 at 06:54

good suggestions,thx

Comment from jasmeet_kaur on 13 July 2017 at 10:04

Hello I want to display my own poi in osm map in android app.Can you suggest me what I can do initially.

Login to leave a comment