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

UI–элементы

Карта

Все варианты поставки SDK содержат стандартный набор UI-элементов для управления картой, которые вы можете добавить в макет и использовать для управления параметрами карты.

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

  

  1. IndoorWidget для переключения этажей.
  2. TrafficWidget для показа текущего уровня пробок и для управления видимостью пробок на карте.
  3. ZoomWidget для масштабирования (приближения и удаления) карты.
  4. CompassWidget для отображения текущего угла поворота карты относительно севера.
  5. MyLocationWidget для перелёта к текущему местоположению пользователя.
  6. В разработке.
  7. В разработке.
  8. В разработке.

Навигатор

Полный вариант поставки SDK содержит набор UI-элементов для отображения и управления навигацией. Все элементы могут быть использованы как наследники MapWidget на любом уровне вложенности.

Набор UI-элементов навигации состоит из:

 

  1. TrafficLineWidget для отображения уровня пробок на маршруте.
  2. ManeuverWidget для отображения информации о следующем манёвре.
  3. SpeedLimitWidget для отображения текущей скорости и скоростного ограничения.
  4. NavigationTrafficWidget и NavigationParkingWidget для управления видимостью пробок и парковок на карте соответственно.
  5. NavigationZoomWidget для масштабирования (приближения и удаления) карты.
  6. NavigationCompassWidget для отображения текущего угла поворота карты относительно севера.
  7. NavigationMyLocationWidget для управления слежением за маркером местоположения.
  8. DashboardWidget для отображения информации в режиме ведения по маршруту.

  

  1. DashboardWidget для отображения информации в режиме свободной навигации.
  2. DashboardWidget для отображения информации в режиме навигации внутри зданий.

Справочник

DgisSearchWidget — компонент, предоставляющий интерактивную строку поиска и список результатов. Является частью поставки как Full, так и Map-версии SDK. Чтобы добавить компонент DgisSearchWidget в ваш макет, выполните шаги ниже:

Вы можете дополнительно настроить отображение результатов поиска (параметр resultBuilder) и изменить цветовую схему (параметр colorScheme):

DgisSearchWidget(
colorScheme: const sdk.SearchWidgetColorScheme(
searchBarBackgroundColor: Colors.transparent,
searchBarTextFieldColor: Colors.white,
objectCardTileColor: Colors.white,
objectCardHighlightedTextStyle: TextStyle(),
objectCardNormalTextStyle: TextStyle(),
objectListSeparatorColor: Colors.lightBlue,
objectListBackgroundColor: Colors.white,
),
searchManager: searchManager,
resultBuilder: (context, objects) {
return SliverList(
delegate: SliverChildBuilderDelegate(
(context, index) {
final item = objects[index];

return item.fold(
// Обработка результатов поиска (DirectoryObject)
(directoryObject) {
return ListTile(
title: Text(directoryObject.title),
subtitle: Text(directoryObject.subtitle),
onTap: () {
// Обработка выбора объекта справочника
print('Selected: ${directoryObject.title}');
},
);
},
// Обработка поисковых подсказок
(suggest) {
return ListTile(
title: Text(suggest.title.text),
subtitle: Text(suggest.subtitle.text),
onTap: () {
if (suggest.handler.isObjectHandler) {
final item =
suggest.handler.asObjectHandler!.item;
print('Selected object: ${item.title}');
} else if (suggest
.handler.isIncompleteTextHandler) {
final queryText = suggest
.handler.asIncompleteTextHandler!.queryText;
print('Complete search with: $queryText');
} else if (suggest.handler.isPerformSearchHandler) {
final searchQuery = suggest
.handler.asPerformSearchHandler!.searchQuery;
print('Perform search query');
}
},
);
},
);
},
childCount: objects.length,
),
);
},
)