Android Compose
Android Compose (Jetpack Compose) — это набор инструментов для создания UI в Android-приложениях на языке программирования Kotlin. Основное отличие фреймворка от Android View — декларативный подход к описанию интерфейса.
Вы можете использовать модули для Android Compose от 2ГИС, чтобы добавить в свой проект стандартные UI-элементы:
compose-mapдля управления картой. Модуль доступен для обеих (Full и Map) версий SDK.compose-navigationдля создания навигатора. Модуль доступен только для полной (Full) версии SDK.
Чтобы подключить модуль в своё приложение, добавьте следующие элементы в app/build.gradle и укажите номер и тип версии SDK (оба параметра обязательны):
dependencies {
def sdkVersion = "13.0.0" // Номер версии SDK
implementation("ru.dgis.sdk:sdk-map:$sdkVersion") // Укажите sdk-map или sdk-full
implementation("ru.dgis.sdk:compose-map:$sdkVersion") // Модуль для карты
implementation("ru.dgis.sdk:compose-navigation:$sdkVersion") // Модуль для навигатора
}
Пример готового app/build.gradle см. в демо-проекте на GitHub.
Карта
Получите карту через MapComposable, чтобы в дальнейшем использовать её при добавлении UI-элементов. См. пример подготовки карты.
Стандартный набор элементов включает в себя:
- IndoorComposable для переключения этажей.
- TrafficComposable для показа текущего уровня пробок и для управления видимостью пробок на карте.
- ZoomComposable для масштабирования (приближения и отдаления) карты.
- CompassComposable для отображения текущего угла поворота карты относительно севера.
- MyLocationComposable для перелёта к текущему местоположению пользователя. Этот UI-элемент отображает текущее состояние слежения камеры (
CameraFollowState) и позволяет изменять его.
- MinimapComposable для отображения мини-карты во время навигации.
Навигатор
Полная версия (Full) поставки SDK содержит набор UI-элементов для отображения и управления навигацией. Для удобства все элементы объединены в NavigationControlsComposable, который вы можете настраивать через DefaultNavigationControlsContent.
Стандартный набор элементов включает в себя:
- TrafficLineComposable для отображения уровня пробок на маршруте.
- ManeuverComposable для отображения информации о следующем манёвре.
- SpeedInfoComposable для отображения текущей скорости и скоростного ограничения.
- TrafficAndParkingComposable — контейнер для UI-элементов управления видимостью пробок (NavigatorTrafficComposable) и парковок (ParkingComposable) на карте.
- NavigationZoomComposable для масштабирования (приближения и отдаления) карты.
- NavigationCompassComposable для отображения текущего угла поворота карты относительно севера.
- NavigationFollowComposable для управления слежением за маркером местоположения.
- NavigationDashboardComposable для отображения информации в режиме ведения по маршруту.

- NavigationDashboardComposable для отображения информации в режиме свободной навигации.
- NavigationDashboardComposable для отображения информации в режиме навигации внутри зданий.
- NavigationIndoorComposable для управления списком этажей при навигации внутри здания.

- BetterRoutePromptComposable для отображения предложения о переходе на «маршрут лучше».
- FinishRouteComposable для отображения информации о завершении маршрута.
- RouteOverviewComposable для отображения общей информации о маршруте во время навигации.
