|
| 1 | +# Анимации карты - Исаакиевский собор |
| 2 | + |
| 3 | +## Обзор |
| 4 | + |
| 5 | +Приложение теперь открывается с красивой анимацией, которая плавно перемещает карту от общего вида мира к Исаакиевскому собору в Санкт-Петербурге. |
| 6 | + |
| 7 | +## Возможности анимации |
| 8 | + |
| 9 | +### 1. Автоматическая анимация при запуске |
| 10 | +- **Начальная позиция**: Вид на весь мир (zoom: 3.0) |
| 11 | +- **Цель**: Исаакиевский собор (59.9343, 30.3061) |
| 12 | +- **Длительность**: 4 секунды |
| 13 | +- **Эффект**: Плавное приближение с увеличением зума |
| 14 | + |
| 15 | +### 2. Кнопка быстрого перемещения (📍) |
| 16 | +- **Цвет**: Синий |
| 17 | +- **Функция**: Быстрое перемещение к Исаакиевскому собору |
| 18 | +- **Анимация**: Двухэтапная (отдаление → приближение) |
| 19 | +- **Общее время**: 4 секунды |
| 20 | + |
| 21 | +### 3. Кнопка эффекта полета (✈️) |
| 22 | +- **Цвет**: Зеленый |
| 23 | +- **Функция**: Эффект полета по маршруту |
| 24 | +- **Маршрут**: Москва → Тверь → Новгород → Исаакиевский собор |
| 25 | +- **Общее время**: ~10 секунд |
| 26 | + |
| 27 | +## Технические детали |
| 28 | + |
| 29 | +### Конфигурация анимации |
| 30 | +Все настройки анимации находятся в `MapAnimationConfig.kt`: |
| 31 | + |
| 32 | +```kotlin |
| 33 | +object Animation { |
| 34 | + const val INITIAL_DELAY = 1000L // Задержка перед началом (мс) |
| 35 | + const val FLIGHT_POINT_DELAY = 2500L // Задержка между точками (мс) |
| 36 | + const val SMOOTH_DURATION = 4.0f // Длительность плавной анимации (сек) |
| 37 | + const val QUICK_DURATION = 2.0f // Длительность быстрой анимации (сек) |
| 38 | + const val INITIAL_ZOOM = 3.0f // Начальный зум |
| 39 | + const val FINAL_ZOOM = 16.0f // Финальный зум |
| 40 | +} |
| 41 | +``` |
| 42 | + |
| 43 | +### Точки маршрута полета |
| 44 | +1. **Москва** (55.0, 37.0) - zoom: 4.0 |
| 45 | +2. **Тверь** (57.0, 35.0) - zoom: 6.0 |
| 46 | +3. **Новгород** (59.0, 32.0) - zoom: 8.0 |
| 47 | +4. **Исаакиевский собор** (59.9343, 30.3061) - zoom: 16.0 |
| 48 | + |
| 49 | +## Настройка |
| 50 | + |
| 51 | +### Изменение координат |
| 52 | +Отредактируйте `MapAnimationConfig.kt`: |
| 53 | +```kotlin |
| 54 | +val ISAAC_CATHEDRAL = PointFactory.create(59.9343, 30.3061) |
| 55 | +``` |
| 56 | + |
| 57 | +### Изменение длительности анимации |
| 58 | +```kotlin |
| 59 | +const val SMOOTH_DURATION = 4.0f // Увеличьте для более медленной анимации |
| 60 | +``` |
| 61 | + |
| 62 | +### Добавление новых точек маршрута |
| 63 | +```kotlin |
| 64 | +val FLIGHT_PATH = listOf( |
| 65 | + PointFactory.create(55.0, 37.0), // Москва |
| 66 | + PointFactory.create(57.0, 35.0), // Тверь |
| 67 | + // Добавьте новые точки здесь |
| 68 | + PointFactory.create(59.9343, 30.3061) // Исаакиевский собор |
| 69 | +) |
| 70 | +``` |
| 71 | + |
| 72 | +## Советы по использованию |
| 73 | + |
| 74 | +1. **Для демонстрации**: Используйте кнопку полета (✈️) |
| 75 | +2. **Для быстрого доступа**: Используйте кнопку перемещения (📍) |
| 76 | +3. **Для настройки**: Измените параметры в `MapAnimationConfig.kt` |
| 77 | + |
| 78 | +## Совместимость |
| 79 | + |
| 80 | +- ✅ Android (полная поддержка) |
| 81 | +- ⚠️ iOS (базовая поддержка через общие методы) |
| 82 | +- ✅ Web (через общие методы) |
| 83 | + |
| 84 | +## Отладка |
| 85 | + |
| 86 | +Если анимация работает некорректно: |
| 87 | +1. Проверьте координаты в `MapAnimationConfig.kt` |
| 88 | +2. Убедитесь, что API ключ Yandex Maps корректный |
| 89 | +3. Проверьте логи на наличие ошибок |
0 commit comments