Files
compass_target/README.md

75 lines
3.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Компас Цель (Compass Target)
Android-приложение на Kotlin для определения направления и расстояния до цели по GPS.
![Android](https://img.shields.io/badge/Android-7.0%2B-green) ![Kotlin](https://img.shields.io/badge/Kotlin-2.2.21-purple) ![License](https://img.shields.io/badge/License-GPLv3-blue)
## Описание
Приложение показывает на карте-компасе направление, расстояние и высоту до выбранной цели (репитер, метка, точка сбора). Интерфейс в тёмной теме, всё обновляется в реальном времени.
**Координаты цели (по умолчанию):** 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+.
```bash
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