Skip to content

🧭 Kotlin Multiplatform library location toolkit for geocoding and geolocation

License

Notifications You must be signed in to change notification settings

jordond/compass

Folders and files

NameName
Last commit message
Last commit date
Aug 26, 2024
Mar 26, 2024
Mar 20, 2024
Oct 28, 2024
Mar 29, 2024
Mar 29, 2024
Mar 29, 2024
Mar 29, 2024
Mar 28, 2024
Mar 28, 2024
Mar 29, 2024
Jan 24, 2025
Jan 24, 2025
Jan 24, 2025
Jan 24, 2025
Jun 5, 2024
Mar 26, 2024
Jan 25, 2025
Jan 24, 2025
Jan 24, 2025
Dec 19, 2024
Dec 19, 2024
Mar 28, 2024
Jun 5, 2024
Jan 24, 2025
Feb 5, 2025
Jan 28, 2025
May 27, 2024
Mar 15, 2024
Aug 26, 2024
May 27, 2024
May 27, 2024
Dec 20, 2024
Jul 11, 2024
Mar 15, 2024
Jan 24, 2025

Repository files navigation

logo


Maven Central Version Kotlin Build License

Compose Multiplatform badge-android badge-ios badge-desktop badge-js

Compass is a Kotlin Multiplatform library location toolkit. It provides a set of tools for working with location data, including geocoding, reverse geocoding, and more. The library is built with a focus on simplicity and ease of use, providing a straightforward API for geocoding operations.

Check out the Documentation for detailed instructions. You can also view the generated KDoc at docs.compass.jordond.dev

Table of Contents

Features

  • Geocoding:
    • Convert an address to a latitude and longitude (forward geocoding)
    • Convert a latitude and longitude to an address (reverse geocoding)
    • Support via native Android/iOS services
    • Support via third party APIs for all platforms (planned)
  • Geolocation:
    • Built in permission handling
    • Get the current location of the device
    • Monitor the location of the device
    • JS/WASM browser geolocation support
  • Autocomplete:
    • Provide suggestions for addresses based on user input
    • Support via native Android/iOS services
    • Support for all platforms via third party geocoder API's
    • Support for Google Places API (planned)

Setup

Read the Setup documentation for more information on setup and usage.

Demo

A demo app is available in the demo directory. It is a Compose Multiplatform app that runs on Android, and iOS.

See Documentation for more.

Contributing

Contributions are always welcome!. If you'd like to contribute, please feel free to create a PR or open an issue.

See Documentation for more.

License

See LICENSE for more information.