UI–элементы
Карта
Все варианты поставки SDK содержат стандартный набор UI-элементов для управления картой, которые вы можете добавить в макет и использовать для управления параметрами карты.
Стандартный набор включает в себя:
- IndoorWidget для переключения этажей.
- TrafficWidget для показа текущего уровня пробок и для управления видимостью пробок на карте.
- ZoomWidget для масштабирования (приближения и удаления) карты.
- CompassWidget для отображения текущего угла поворота карты относительно севера.
- MyLocationWidget для перелёта к текущему местоположению пользователя.
- В разработке.
- В разработке.
- В разработке.
Навигатор
Полный вариант поставки SDK содержит набор UI-элементов для отображения и управления навигацией. Все элементы могут быть использованы как наследники MapWidget на любом уровне вложенности.
Набор UI-элементов навигации состоит из:
- TrafficLineWidget для отображения уровня пробок на маршруте.
- ManeuverWidget для отображения информации о следующем манёвре.
- SpeedLimitWidget для отображения текущей скорости и скоростного ограничения.
- NavigationTrafficWidget и NavigationParkingWidget для управления видимостью пробок и парковок на карте соответственно.
- NavigationZoomWidget для масштабирования (приближения и удаления) карты.
- NavigationCompassWidget для отображения текущего угла поворота карты относительно севера.
- NavigationMyLocationWidget для управления слежением за маркером местоположения.
- DashboardWidget для отображения информации в режиме ведения по маршруту.
- DashboardWidget для отображения информации в режиме свободной навигации.
- 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,
),
);
},
)