Перейти к основному содержимому

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-элементов. См. пример подготовки карты.

Стандартный набор элементов включает в себя:

  1. IndoorComposable для переключения этажей.
  2. TrafficComposable для показа текущего уровня пробок и для управления видимостью пробок на карте.
  3. ZoomComposable для масштабирования (приближения и отдаления) карты.
  4. CompassComposable для отображения текущего угла поворота карты относительно севера.
  5. MyLocationComposable для перелёта к текущему местоположению пользователя. Этот UI-элемент отображает текущее состояние слежения камеры (CameraFollowState) и позволяет изменять его.
  1. MinimapComposable для отображения мини-карты во время навигации.

Полная версия (Full) поставки SDK содержит набор UI-элементов для отображения и управления навигацией. Для удобства все элементы объединены в NavigationControlsComposable, который вы можете настраивать через DefaultNavigationControlsContent.

Стандартный набор элементов включает в себя:

  1. TrafficLineComposable для отображения уровня пробок на маршруте.
  2. ManeuverComposable для отображения информации о следующем манёвре.
  3. SpeedInfoComposable для отображения текущей скорости и скоростного ограничения.
  4. TrafficAndParkingComposable — контейнер для UI-элементов управления видимостью пробок (NavigatorTrafficComposable) и парковок (ParkingComposable) на карте.
  5. NavigationZoomComposable для масштабирования (приближения и отдаления) карты.
  6. NavigationCompassComposable для отображения текущего угла поворота карты относительно севера.
  7. NavigationFollowComposable для управления слежением за маркером местоположения.
  8. NavigationDashboardComposable для отображения информации в режиме ведения по маршруту.

 

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

  

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