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

Latest commit

 

History

99 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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.