Self-hostable location history tracker and web app that replaces Google Timeline, with maps, trips, stats and imports from several sources.
googlemaps/android-maps-utils
A Kotlin utility library for the Google Maps SDK for Android, covering marker clustering, heatmaps, KML/GeoJSON import and geometry helpers.
- Stars
- 3,625
- Forks
- 1,551
- Open issues
- 29
- Last commit
- 2 days ago
What is it?
android-maps-utils is a utility library for applications built on the Google Maps SDK for Android. It collects commonly needed map features such as clustering large numbers of markers, drawing heatmaps, animating markers, and rendering text labels on markers.
The library also handles data import and geometry. It can parse and display KML and GeoJSON files with styling, encode and decode polylines in the format used by Maps API web services, and compute spherical distances, headings and areas. A separate Street View metadata helper checks whether a panorama exists at a given location before the app tries to show one.
Since version 5.0 the library is written in Kotlin and split into submodules such as core, clustering, data, heatmaps and ui, so apps can include only what they need. Version 6.0 folded the former ktx artifacts into this library under the com.google.maps.android packages and added coroutine and Flow helpers.
Key features
- 01Marker clustering, including a SuperCluster algorithm for 100k+ markers
- 02Heatmap rendering for large sets of points
- 03Import and styled display of KML and GeoJSON data
- 04Polyline encoding/decoding and spherical geometry calculations
- 05Kotlin coroutine and Flow extensions for map APIs
- 06Modular artifacts so apps can depend only on needed parts
Use cases
- Showing thousands of store or sensor locations on an Android map without cluttering the view
- Overlaying KML or GeoJSON files from GIS sources on a Google Map
- Visualizing point density with a heatmap
- Calculating distances or areas between coordinates in a mobile app
Quick start
- 1
Add the aggregator artifact to your Gradle dependencies
implementation("com.google.maps.android:android-maps-utils:6.1.0") - 2
Get a Google Maps Platform API key with the Maps SDK for Android enabled
- 3
To run the sample app, add MAPS_API_KEY to secrets.properties in the root project
- 4
Build and run the debug variant of the demo app
Things to know
- Requires a Google Maps Platform project and API key to use the Maps SDK for Android.
- Targets Android only, requiring API level 24 or higher.
In collections
Topics
FAQ
- What is android-maps-utils?
- A Kotlin utility library for the Google Maps SDK for Android, covering marker clustering, heatmaps, KML/GeoJSON import and geometry helpers. android-maps-utils is a utility library for applications built on the Google Maps SDK for Android. It collects commonly needed map features such as clustering large numbers of markers, drawing heatmaps, animating markers, and rendering text labels on markers.
- Is android-maps-utils free to use? What license does it have?
- android-maps-utils is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
- Is android-maps-utils still maintained?
- Actively maintained. The last commit to android-maps-utils was on Nov 5, 2026.
- What can I use android-maps-utils for?
- Showing thousands of store or sensor locations on an Android map without cluttering the view Overlaying KML or GeoJSON files from GIS sources on a Google Map Visualizing point density with a heatmap Calculating distances or areas between coordinates in a mobile app
- How do I install android-maps-utils?
- Add the aggregator artifact to your Gradle dependencies: implementation("com.google.maps.android:android-maps-utils:6.1.0") Get a Google Maps Platform API key with the Maps SDK for Android enabled To run the sample app, add MAPS_API_KEY to secrets.properties in the root project Build and run the debug variant of the demo app
- Where can I get android-maps-utils?
- The source code and installation instructions are on GitHub: https://github.com/googlemaps/android-maps-utils
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
Free, privacy-first offline maps and GPS navigation app for Android and iOS, built on crowd-sourced OpenStreetMap data.
Self-hosted, open source web analytics server and JavaScript tracker, an alternative to Google Analytics that keeps visitor data under your control.
A lightweight server that stores and serves location data published by the OwnTracks mobile apps via MQTT or HTTP, without an external database.
Open-source Go tool that scrapes Google Maps listings for business names, contact details, ratings, reviews and emails via CLI, Web UI or REST API.
Self-hosted personal location tracker that turns GPS history into visits, trips, and significant places on a timeline and map.