Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I am currently looking at the various libraries that I can use to show a map in my custom Android App. I have found several like Mapsforge, OSMDroid, ArcGIS runtime for Android, Google Maps for Android and so on. I'm sure that I am missing a few.

Is there a comparison chart somewhere about the differences in functionalities and pros and cons of each one?

If there isn't one, we could make this question community wiki, to serve alongside Comparison of Open Source Desktop GIS Packages & Comparison of JavaScript mapping libraries.

share|improve this question
Are there any open source options that support multiple CRS (i.e. not just web mercator)? – BradHards Dec 20 '12 at 19:50
@BradHards As far as I know, only QGIS on android can do it, but it is still in a very early stage. – Devdatta Tengshe Dec 21 '12 at 14:14
@BradHards: According to my latest research, the Nutiteq library can show maps in arbitrary CRS. – Devdatta Tengshe May 24 '13 at 10:22
This Q&A is discussed in a Meta Q&A. – PolyGeo Feb 10 '14 at 23:48
up vote 16 down vote accepted

Here are the results of my brief research on this Issue:

  1. ArcGIS runtime for Android. Seems to be oriented towards showing ArcGIS Server's Mapservices. It can show data in an offline mode, by storing tiles in the compact cache storage format, or by using tile packages.

  2. OSMDroid A component which can be used to show data from Open Street Maps when on-line, and can use tiles for off-line access. It is a raster based option, and you can use Mobile Atlas creator to create tiles from pretty much any WMS service.

  3. MapsForge An excellent library for rendering OSM data on the fly. It has a special optimized tile format, and it's rendering performance is quite good.

  4. Google Maps Android API This is the default mapView in Android, and uses the data from Google Maps. While the Google map application itself can be used in offline mode, as far as I am aware, is not possible to use Google Data in the offline mode. However it is possible to show your own tiles in offline mode. Here is an Excellent example.

  5. Nutiteq This is fully featured library that has many unique features like support for 3D, various OGC services, custom Map API's, offline routing and maps in any projection.

  6. Mapbox has recently released an Android SDK, which can be used for online and offline maps.

  7. HERE has mobile sdks for Android and iOS, which can be used for online and offline maps.

share|improve this answer
TileMill MBtile could used for offline tiles ,… – geogeek Dec 22 '12 at 0:48
Nutiteq is free if you use it with OpenStreetMap, even for commercial applications. See for the terms. – JaakL Dec 10 '13 at 8:47
@JaakL: Thanks for the correction! – Devdatta Tengshe Dec 10 '13 at 9:12
@yochannah: I think so. I don't think any new library has come along for this. I have just updated the URLs today – Devdatta Tengshe Mar 20 '15 at 12:51
Ntiteq retired their "free OSM license", so it might make sense to update the answer – Gregory Nov 25 '15 at 9:04

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.