Files
compass_target/README.md

3.8 KiB
Raw Blame History

Компас Цель (Compass Target)

Android-приложение на Kotlin для определения направления и расстояния до цели по GPS.

Android Kotlin License

Описание

Приложение показывает на карте-компасе направление, расстояние и высоту до выбранной цели (репитер, метка, точка сбора). Интерфейс в тёмной теме, всё обновляется в реальном времени.

Координаты цели (по умолчанию): 67.370898, 32.489668

Возможности

  • 📍 Дистанция до цели — метры/километры, обновление в реальном времени
  • 🧭 Компас с фиксированным севером — красная стрелка показывает азимут на цель, белый треугольник — ориентацию телефона
  • 🛰️ Спутники — счётчик и разбивка по созвездиям: GPS, ГЛОНАСС, Galileo, BeiDou
  • 📏 Азимут — в градусах и словесно (С, СВ, В, ЮВ, Ю, ЮЗ, З, СЗ)
  • ⛰️ Высота над уровнем моря и точность GPS (± м)
  • 🎯 10 редактируемых целей — название, широта, долгота; сохранение между запусками
  • 📍 Вставка текущих координат в поле цели одной кнопкой
  • 🌙 Тёмная тема, экран не гаснет

Цели по умолчанию

Название Широта Долгота
1 П-Зори DMR 67.371 32.48967
2 R1ZBF-SVX 67.3685 32.49
3 Лысая Гора 67.43083 32.4535
4 Апатиты DMR 67.55917 33.40967
5 Кировск DMR 67.602 33.72767
6 Мончегорск DMR 67.93883 32.9375
7 R1ZCU-SVX 69.00283 33.102
8 R1ZAAG-HE 69.0735 33.43167

Как пользоваться

  1. Установите APK из релизов → app-debug.apk
  2. Разрешите доступ к геолокации (GPS)
  3. Тап по названию цели сверху — выбор из 10 целей
  4. Кнопка «Редактировать…» — изменить цель или вставить текущие координаты
  5. Следуйте за красной стрелкой компаса

Сборка

Требования: JDK 17+, Android SDK (platform 34), Gradle 9.2+.

echo "sdk.dir=/путь/к/Android/Sdk" > local.properties
gradle :app:assembleDebug --no-daemon
adb install -r app/build/outputs/apk/debug/app-debug.apk

Ресурсы сборки ограничены в gradle.properties (под слабые ПК).

Структура

app/src/main/java/com/ua1zbe/compass/
├── MainActivity.kt    — GPS, компас, сенсоры, меню и редактирование целей
├── CompassView.kt     — отрисовка компаса (Canvas)
└── TargetsStore.kt    — хранение целей (SharedPreferences/JSON)

Примечания

  • Компас использует магнитометр — при неточных показаниях калибруйте телефон «восьмёркой»
  • Высота берётся из GPS
  • ГЛОНАСС и другие созвездия определяются через GnssStatus (Android 7+)

Лицензия

GPL-3.0