gitmyhub

DestinationCompass

Kotlin ★ 81 updated 9d ago

An Android app built with Kotlin and Jetpack Compose that shows a live compass direction to a chosen destination using the Baidu Maps SDK.

KotlinJetpack ComposeBaidu Maps SDKsetup: moderatecomplexity 3/5

Destination Compass is an Android app, built with Kotlin and Jetpack Compose, that points a user toward a chosen destination using a compass-style interface. According to its Chinese-language README, it is built on the Baidu Maps SDK for map display, place search, and route planning, and the Baidu location SDK for tracking the user's position.

A user picks a destination on the map or searches for a place, and the app can plan a walking or cycling route to it, choosing either the shortest distance or fastest time. Once real-time navigation is turned on, the app keeps recalculating the route as the user moves at least 5 meters, and it keeps a line drawn between the user's current position and the destination throughout. The compass screen also shows the current speed, and a user can switch to a plain compass mode with no destination set.

The README describes a long list of smaller refinements aimed at making the compass feel responsive and stable: filtering out noisy or jumpy GPS readings, animating the compass needle smoothly rather than snapping it, showing proximity alerts at 50 meters and 10 meters from the destination, and remembering a favorites list of places across app restarts. It supports Material You dynamic color theming and both light and dark modes.

To build the app, a developer needs a Baidu Maps Android SDK key, added to a local configuration file, along with the app's registered package name on Baidu's developer platform. The project is built and tested with Gradle, and produces a standard Android debug APK. There is no listed license in the README, and given the closed nature of the Baidu Maps SDK, the app is likely limited to markets where that service operates.

Where it fits