Начало работы
Начало работы
Сначала нужно обратиться в техническую поддержку 2ГИС для получения нового ключа. Обязательно нужно указать appId
приложения, для которого будет создан ключ.
Для работы с SDK нужно создать специальный объект Container, который будет хранить все сущности, связанные с картой.
Чтобы его создать, нужно указать путь до файла ключа через объект структуры ApiKeyOptions. При указании ApiKeyOptions.default файл должен быть добавлен в корень приложения.
// Файл ключа для доступа к сервисам.
let apiKeyOptions = ApiKeyOptions(apiKeyFile: File(path: "Path to key info file"))
// Создание контейнера для доступа к возможностям SDK.
let sdk = DGis.Container(apiKeyOptions: apiKeyOptions)
Обратите внимание, DGis.Container может быть создан только в единственном экземпляре.
Дополнительно можно указать настройки журналирования (LogOptions) и настройки HTTP-клиента (HTTPOptions), такие как время ожидания ответа и кеширование.
// Настройки журналирования.
let logOptions = LogOptions(osLogLevel: .info)
// Настройки HTTP-клиента.
let httpOptions = HTTPOptions.default
// Сервисы геопозиционирования.
let positioningServices: IPositioningServicesFactory = CustomPositioningServicesFactory()
// Настройки сбора анонимной статистики использования.
let dataCollectionOptions = DataCollectionOptions(dataCollectionStatus: .agree)
// Создание контейнера.
let sdk = DGis.Container(
apiKeyOptions: apiKeyOptions,
logOptions: logOptions,
httpOptions: httpOptions,
positioningServices: positioningServices,
dataCollectionOptions: dataCollectionOptions
)
Vendor Config
Для переопределения некоторых настроек работы SDK используется файл в формате VendorConfig
, который передается при инициализации контейнера SDK.
Файл необходимо добавить в бандл при сборке приложения и создать экземпляр класса File. Для файла, добавленного в корень бандла, и имеющего имя vendor-config.json
код будет выглядеть так:
let vendorConfigFile = Bundle.main.path(forResource: "vendor-config", ofType: "jsonx").map { File(path: $0) }
Далее, эту переменную необходимо передать параметром vendorConfigFile
при инициализации Container:
let sdk = DGis.Container(vendorConfigFile: vendorConfigFile)
Работа с офлайн-данными
Мобильный SDK (версия Full) позволяет работать с данными карты, справочника и навигатора офлайн из предзагруженных пакетов. Это может быть полезно в условиях плохой связи или при её полном отсутствии.
Чтобы настроить работу в режиме офлайн:
-
Убедитесь, что ваш ключ доступа содержит необходимые права для работы с офлайн-данными. Вы можете запросить права на офлайн-данные всех компонентов (карта, справочник, построение маршрутов) или выбрать только необходимые.
-
Скачайте файлы с данными для территорий, где необходима офлайн-работа приложения, через TerritoryManager.
-
Настройте компоненты SDK для работы с предзагруженными данными:
- Карта: создайте источник данных и укажите нужный режим работы.
- Справочник: используйте нужный метод для создания справочника объектов.
- Построение маршрутов: по умолчанию настроен гибридный режим. Подробнее см. документацию о маршрутах.