Начало работы
Начало работы
-
Обратитесь в техническую поддержку 2ГИС для получения ключа доступа. Обязательно укажите
appId
приложения, для которого будет создан ключ. -
Создайте специальный объект Container, который будет хранить все сущности, связанные с картой. При создании объекта укажите путь до полученного файла ключа
dgissdk.key
одним из способов:-
Из
Bundle.main
приложения с помощью метода fromAsset() (способ по умолчанию). Ключ должен быть прикреплён к корню приложения:// Получение файла ключа let key = KeySource.fromAsset(KeyFromAsset(path: "dgissdk.key")) // Создание контейнера let sdk = DGis.Container(keySource: key)
-
C указанием абсолютного пути до файла ключа с помощью метода fromFile():
// Получение файла ключа let key = Bundle.main.path(forResource: "dgissdk", ofType: "key").map { KeySource.fromFile(KeyFromFile(path: $0)) } // Создание контейнера let sdk = DGis.Container(keySource: key)
-
С указанием строки для получения файла ключа с помощью метода fromString():
// Получение файла ключа let key = KeySource.fromString(KeyFromString(contents: "some content")) // Создание контейнера let sdk = DGis.Container(keySource: key)
Важно
DGis.Container
может быть создан только в единственном экземпляре. -
-
Дополнительно можно указать настройки журналирования (LogOptions) и настройки HTTP-клиента (HTTPOptions), такие как время ожидания ответа и кеширование.
// Настройки журналирования let logOptions = LogOptions(systemLevel: .info) // Настройки HTTP-клиента let httpOptions = HttpOptions.init() // Настройки сбора анонимной статистики использования let personalDataCollectionOptions = PersonalDataCollectionOptions(personalDataCollectionConsent: .granted) // Создание контейнера let sdk = DGis.Container( keySource: key, logOptions: logOptions, httpOptions: httpOptions, personalDataCollectionOptions: personalDataCollectionOptions )
Vendor Config
Для переопределения некоторых настроек работы SDK используется файл в формате VendorConfig
, который передается при инициализации контейнера SDK.
-
Добавьте файл в формате
VendorConfig
в бандл при сборке приложения и создайте экземпляр класса File.Для файла, добавленного в корень бандла и имеющего имя
vendor-config.json
, код будет выглядеть так:let vendorConfigFile = Bundle.main.path(forResource: "vendor-config", ofType: "jsonx").map { VendorConfig.fromFile(VendorConfigFromFile(path: $0)) }
-
Передайте созданную переменную в качестве значения параметра
vendorConfigFile
при инициализации Container:let sdk = DGis.Container( keySource: key, logOptions: logOptions, httpOptions: httpOptions, vendorConfigFile: vendorConfigFile ?? .none )
Работа с офлайн-данными
Мобильный SDK (версия Full) позволяет работать с данными карты, справочника и навигатора офлайн из предзагруженных пакетов. Это может быть полезно в условиях плохой связи или при её полном отсутствии.
Чтобы настроить работу в режиме офлайн:
-
Убедитесь, что ваш ключ доступа содержит необходимые права для работы с офлайн-данными. Вы можете запросить права на офлайн-данные всех компонентов (карта, справочник, построение маршрутов) или выбрать только необходимые.
-
Скачайте файлы с данными для территорий, где необходима офлайн-работа приложения, через TerritoryManager.
-
Настройте компоненты SDK для работы с предзагруженными данными:
- Карта: создайте источник данных и укажите нужный режим работы.
- Справочник: используйте нужный метод для создания справочника объектов.
- Построение маршрутов: по умолчанию настроен гибридный режим. Подробнее см. документацию о маршрутах.