osmdroid is a library to interact with OpenStreetMap data inside an Android application. It offers an almost full/free replacement to Android map objects: MapView, MapController, Overlays (Marker, Polyline, Polygon), etc.
This "OSMBonusPack" library complements osmdroid with (very) useful classes:
- Routes and Directions,
- Points of Interests (directory services),
- Marker Clustering,
- Support for KML and GeoJSON content,
- GroundOverlay, similar to its Google Maps equivalent,
- Geocoding and Reverse Geocoding,
- and more...
Have a look to the examples below, and to the features.
The OSMNavigator application demonstrates the use of these classes. This is a generic-purpose Map/Navigation tool, including a KML viewer and editor.
Geocoding, route display, bubble on the destination with the address and an image
Turn-by-turn instructions shown in bubbles (with instructions in the default language of the phone):
The same turn-by-turn instructions shown in list view:
Searching for fuel stations along the route:
Searching fo cinemas inside an area, with clustered markers:
Showing Wikipedia POIs related to the current map view. In the bubble, the "more info" button will open the full Wikipedia page:
Showing geolocalized Flickr photos related to the current map view:
Showing geolocalized Picasa photos related to the current map view:
on the map | as a list view |
---|---|
![]() |
![]() |
When searching a place by name, shows its enclosing polygon
Support for KML content.
Google Maps "My Places" | rendered with OSMBonusPack |
---|---|
![]() |
![]() |
Start with the installation guide, then follow the Tutorials.
In the releases, you will find the library (aar file) and the javadoc.
If you need help to use osmdroid or OSMBonusPack, go to StackOverflow with "osmdroid" tag.
If you think there is an issue with OSMBonusPack, or want to raise a request related to OSMBonusPack, post an issue in OSMBonusPack Issues.
If you think there is an issue with osmdroid, or want to raise a request related to osmdroid, read osmdroid advices.
The components inside this GitHub project are under LGPL licence, with an important simplification: The constraints described in Section 5.d and 5.e of the LGPL LICENCE are DISCARDED.
This means that you are allowed to convey a Combined Work without providing the user any way to recombine or relink the application, and without providing any shared library mechanism.
In other terms, you are allowed to include the OSMBonusPack library in your Android application, without making your application open source.