Project type: work
AI tags: work, ais, android, navigation, camera, speed-dependent, map-view, feature
Description
Реализовать режим навигатора, в котором камера следит за собственным судном и автоматически отдаляется в зависимости от скорости движения. Чем выше скорость - тем больше дальность обзора впереди лежащих объектов. Функционал должен взаимодействовать с существующей системой отслеживания судна и данными о скорости из NMEAController.
Камера автоматически следит за собственным судном (центр экрана)
Уровень зума камеры изменяется в зависимости от скорости судна
На скорости 0 узлов - максимальное приближение (стандартный зум)
На максимальной скорости - максимальное отдаление (расширенный обзор)
Переход между уровнями зума плавный, без рывков
Режим отключается при переходе в другой режим навигации
Функция работает корректно для обоих типов карт (YandexMap и MapForge)
В настройках есть опция включения/отключения режима навигатора
Code notes
В Vessel.java уже есть поле speed - использовать его как источник данных
NMEAController управляет получением данных о скорости из разных источников - нужна синхронизация
MapInterface.java - абстрактный класс с методами centerOnVessel и zoom - проверить текущий API
YandexMapImpl и MapForgeImpl - две реализации карт, обе должны поддерживать режим
SettingsActivity уже имеет паттерны для добавления новых настроек (см. режимы данных)
AppController - главная точка интеграции, там синхронизируются все компоненты
Вероятно, понадобится Timer или Handler для регулярного обновления зума при изменении скорости
Проверить, есть ли уже механизм для отслеживания изменений скорости в CoordinatesDockWidget
Questions
Какой диапазон скоростей считается актуальным? (макс скорость судна в узлах)
Какой диапазон зума поддерживают оба типа карт (Яндекс и MapForge)?
Нужно ли сохранять состояние режима навигатора между запусками приложения?
Должна ли кнопка активации режима быть в главном меню или в отдельной панели управления?
Нужна ли опция 'фиксированный угол камеры вперед' (камера повернута в направлении курса судна)?
Какое время анимации переходов зума предпочтительно?
Нужно ли обрабатывать ситуацию потери GPS сигнала в режиме навигатора?
Linked Taiga story: #21
Suggested branch:
`feature/taiga-21-rezhim-navigatora-dinamicheskoe-otdalenie-kamery-v-zavisimos`
Project type: `work`
AI tags: work, ais, android, navigation, camera, speed-dependent, map-view, feature
## Description
Реализовать режим навигатора, в котором камера следит за собственным судном и автоматически отдаляется в зависимости от скорости движения. Чем выше скорость - тем больше дальность обзора впереди лежащих объектов. Функционал должен взаимодействовать с существующей системой отслеживания судна и данными о скорости из NMEAController.
Taiga: https://tasks.grigowashere.ru/project//us/21
## Acceptance criteria
- Камера автоматически следит за собственным судном (центр экрана)
- Уровень зума камеры изменяется в зависимости от скорости судна
- На скорости 0 узлов - максимальное приближение (стандартный зум)
- На максимальной скорости - максимальное отдаление (расширенный обзор)
- Переход между уровнями зума плавный, без рывков
- Режим отключается при переходе в другой режим навигации
- Функция работает корректно для обоих типов карт (YandexMap и MapForge)
- В настройках есть опция включения/отключения режима навигатора
## Code notes
- В Vessel.java уже есть поле speed - использовать его как источник данных
- NMEAController управляет получением данных о скорости из разных источников - нужна синхронизация
- MapInterface.java - абстрактный класс с методами centerOnVessel и zoom - проверить текущий API
- YandexMapImpl и MapForgeImpl - две реализации карт, обе должны поддерживать режим
- SettingsActivity уже имеет паттерны для добавления новых настроек (см. режимы данных)
- AppController - главная точка интеграции, там синхронизируются все компоненты
- Вероятно, понадобится Timer или Handler для регулярного обновления зума при изменении скорости
- Проверить, есть ли уже механизм для отслеживания изменений скорости в CoordinatesDockWidget
## Questions
- Какой диапазон скоростей считается актуальным? (макс скорость судна в узлах)
- Какой диапазон зума поддерживают оба типа карт (Яндекс и MapForge)?
- Нужно ли сохранять состояние режима навигатора между запусками приложения?
- Должна ли кнопка активации режима быть в главном меню или в отдельной панели управления?
- Нужна ли опция 'фиксированный угол камеры вперед' (камера повернута в направлении курса судна)?
- Какое время анимации переходов зума предпочтительно?
- Нужно ли обрабатывать ситуацию потери GPS сигнала в режиме навигатора?
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Linked Taiga story: #21
Suggested branch:
feature/taiga-21-rezhim-navigatora-dinamicheskoe-otdalenie-kamery-v-zavisimosProject type:
workAI tags: work, ais, android, navigation, camera, speed-dependent, map-view, feature
Description
Реализовать режим навигатора, в котором камера следит за собственным судном и автоматически отдаляется в зависимости от скорости движения. Чем выше скорость - тем больше дальность обзора впереди лежащих объектов. Функционал должен взаимодействовать с существующей системой отслеживания судна и данными о скорости из NMEAController.
Taiga: https://tasks.grigowashere.ru/project//us/21
Acceptance criteria
Code notes
Questions
Добавлен