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

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 для отображения информации в режиме ведения по маршруту.

     

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

  10. 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,
),
);
},
)