Android Mapping – Comparison of Various Mapping Libraries

androidlibrary

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.

Best Answer

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.

  8. CARTO has mobile sdks for Android, iOS, and Windows Mobile 10, which can be used for online and offline maps.

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