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

Начало работы

Инициализация SDK

  1. Обратитесь в службу поддержки 2ГИС для получения ключа доступа. Обязательно укажите appId приложения, для которого будет создан ключ. Подробнее см. в разделе Получение ключей доступа.

  2. Добавьте полученный файл ключа dgissdk.key в assets приложения.

  3. Вызовите метод initialize() объекта DGis, указав контекст приложения:

    import 'package:dgis_mobile_sdk_map/dgis.dart' as sdk;

    class SomeApp extends StatelessWidget {
    final sdkContext = sdk.DGis.initialize();
    }

    Важно

    Context может быть создан только в единственном экземпляре.

  4. Дополнительно вы можете указать настройки журналирования LogOptions и настройки HTTP-клиента HttpOptions, например таймаут запроса:

    import 'package:dgis_mobile_sdk_map/dgis.dart' as sdk;

    class SomeApp extends StatelessWidget {

    final sdkContext = sdk.DGis.initialize(
    logOptions: const sdk.LogOptions(
    customLevel: sdk.LogLevel.verbose,
    systemLevel: sdk.LogLevel.verbose,
    ),
    httpOptions: const sdk.HttpOptions(
    timeout: Duration(seconds: 5),
    ),
    );
    }

Vendor Config

Для переопределения некоторых настроек работы SDK используется файл в формате VendorConfig, который передается при инициализации SDK.

Существует несколько способов создать экземпляр класса VendorConfig:

  • VendorConfigFromAsset — файл необходимо расположить в каталоге assets исходного кода приложения и указать имя файла в конструкторе.
  • VendorConfigFromFile — файл необходимо расположить в файловой системе устройства и указать абсолютный путь до него.
  • VendorConfigFromString — в конструктор необходимо передать строку с содержимым файла формата JSON.

Созданный экземпляр VendorConfig передается в метод DGis.initialize() параметром vendorConfig.

Работа с офлайн-данными

Мобильный SDK (версия Full) позволяет работать с данными карты, справочника и навигатора офлайн из предзагруженных пакетов. Это может быть полезно в условиях плохой связи или при её полном отсутствии.

Чтобы настроить работу в режиме офлайн:

  1. Убедитесь, что ваш ключ доступа содержит необходимые права для работы с офлайн-данными. Вы можете запросить права на офлайн-данные всех компонентов (карта, справочник, построение маршрутов) или выбрать только необходимые.
  2. Скачайте файлы с данными для территорий, где необходима офлайн-работа приложения, через TerritoryManager.
  1. Настройте компоненты SDK для работы с предзагруженными данными:

Язык приложения

Чтобы установить язык приложения, передайте список локалей (Locale) в методе overrideLocales() класса LocaleManager.

В зависимости от выбранной локали меняется язык звуковых оповещений в навигаторе.

Пример установки англоязычной локали:

import 'package:dgis_mobile_sdk_map/dgis.dart' as sdk;

// Создание объекта Locale с указанием языка и региона
final locale = sdk.Locale(language: sdk.Language("en"), region: sdk.Region("EN"));

// Установка локали для приложения
sdk.getLocaleManager(sdkContext).overrideLocales([locale]);

Доступные значения языков (параметры language и region соответственно):

  • ru-RU — русский;
  • en-EN — английский;
  • ar-AE — арабский.