interface
CameraMoveController
Класс, позволяющий управлять положением камеры для нужд анимации
Класс должен быть потокобезопасным.
func animationTime() -> TimeInterval
CustomFollowController
Интерфейс, который можно реализовать на платформе для создания собственного контроллера слежения за параметрами Для добавления контроллера в камеру, нужно реализовать этот интерфейс и создать объект FollowController’а передав в качестве аргумента объект, реализующий данные интерфейс.
func availableValues() -> FollowValueOptionSet
func coordinates() -> GeoPoint?
func bearing() -> Bearing?
func tilt() -> Tilt?
func styleZoom() -> StyleZoom?
ICancellable
Жетон для отмены операции, при запуске которой он был получен.
func cancel()
ICreateRoadEventView
Протокол интерфейса создания дорожного события.
var visibleAreaEdgeInsets
Видимая область с учетом размера карточки создания дорожного события.
var visibleAreaEdgeInsetsChangedCallback
Замыкание обратного вызова при изменении видимой области.
var cancelButtonCallback
Замыкание обратного вызова при нажатии кнопки отмены.
var createRoadEventRequestCallback
Замыкание обратного вызова с результатом создания дорожного события.
IDirectoryViewsFactory
Фабрика SwiftUI-элементов справочника.
func makeVoiceAssistantView(speechService: (any IVoiceAssistantService)?) -> VoiceAssistantView
SwiftUI-элемент для голосового ввода.
func makeSearchResultItemView(
object: DirectoryObject,
onTap: @escaping (DirectoryObject) -> Void,
lastLocation: GeoPoint?
) -> SearchResultItemView
SwiftUI-элемент карточки объекта в поисковой выдаче.
IDoubleTapAndPanGestureRecognizer
var scaleDoublingTranslation
Число точек вертикального сдвига, приводящее к изменению масштаба в два раза.
Для обработчика жеста по умолчанию используется значение -100. Сдвиг вниз (увеличение y) увеличивает масштаб. Сдвиг вверх (уменьшение y) уменьшает масштаб. Для увеличения масштаба в 2 раза, при таком значении скорости масштабирования, нужно провести пальцем вниз на 100 pt.
IEnergyConsumption
Протокол для настройки энергосбережения устройства.
func setFpsCallback(_ fpsCallback: FpsCallback?)
Установить функцию обратного вызова на изменение fps.
fpsCallback
IHTTPClient
Интерфейс сетевого клиента для отправки HTTP-запросов.
func send(
request: URLRequest,
callback: @escaping RequestDataCompletionCallback
)
Функция для отправки запроса и получения результата выполнения через callback. Обработка результатов будет выполнена в callback.
request
HTTP-запрос.
callback
Функция обратного вызова при получении результата запроса.
IImageFactory
func make(pngData: Data, size: CGSize) -> Image
Создать изображение на основе PNG-данных.
func make(svgData: Data, size: CGSize) -> Image
Создать изображение на основе SVG-данных.
func make(lottieData: Data, size: CGSize) -> Image
Создать анимированное изображение на основе Lottie-данных.
func make(image: UIImage) -> Image
Создать изображение на основе объекта UIImage. При наличии готовых PNG-данных метод make(pngData:size:) работает эффективнее.
func make(imageFactory: @escaping () -> UIImage) -> Image
Создать изображение на основе отложенного объекта UIImage. Переданное замыкание вызывается отложенно в тот момент, когда нужны данные. При наличии готовых PNG-данных метод make(pngData:size:) работает эффективнее.
ILocationProvider
Интерфейс источника геопозиции, который реализуется на платформе.
func setCallbacks(
locationCallback: LocationCallback?,
availabilityCallback: AvailabilityCallback?
)
Устанавливает функции обратного вызова на обновление текущей гепозиции и изменение доступности источника геопозиции. Повторный вызов данного метода перезаписывает предыдущие заданные функции обратного вызова. Если оба параметра равны nil, то слежение за обновлением геопозиции нужно отключить.
locationCallback
Функция обратного вызова на обновление текущей гепозиции. Если провайдер доступен (вызов availabilityCallback со значением true), то данный источник всегда доставляет достоверную геопозицию. Достоверная геопозиция - это геопозиция, в которой все поля имеют актуальное значение на момент ее отправки в этот канал (т.е. если точность геопозиции >= половине длины экватора Земли, то геопозиция является достоверной для любых от указанных в ней корректных координат). Если значение точности <= 0, то позиция считается недостоверной даже если isAvailable == true. См. метод CLLocationManagerDelegate.locationManager(didUpdateLocations:).
availabilityCallback
Функция обратного вызова на изменение доступности источника геопозиции. Если вызвана эта функция со значением true, то все последующие вызовы locationCallback будут содержать достоверную (актуальную) геопозицию. Даже если слежение за изменением геопозиции недоступно, реализация ILocationProvider может присылать новую геопозицию, но она будет считаться недостоверной. См. метод CLLocationManagerDelegate.locationManager(didFailWithError:).
func setDesiredAccuracy(_ accuracy: DesiredAccuracy)
Задает желаемую точность определения местоположения. Если устройство не может вернуть местоположение с желаемой точностью, то оно может вернуть местоположение с меньшей точностью. Если платфора не предоставляет аналогичный по функциональности метод, то данный метод должен иметь пустую реализацию.
См. метод CLLocationManager.desiredAccuracy и \ .
accuracy
IMagneticHeadingProvider
Протокол, предоставляющий направление устройства относительно направления на магнитный север. Все методы данного интерфейса должны вызываться из очереди IPositioningServicesFactory.positiningQueue.
func setCallbacks(
headingCallback: HeadingCallback?,
availabilityCallback: AvailabilityCallback?
)
Устанавливает функции обратного вызова на обновление текущего направления и изменения доступности источника направления. Повторный вызов данного метода перезаписывает предыдущие функции обратного вызова. Если оба параметра равны nil, то слежение за обновлением направления нужно отключить.
headingCallback
Функция обратного вызова на обновление текущего направления. См. метод CLLocationManagerDelegate.locationManager(didUpdateHeading:).
availabilityCallback
Функция обратного вызова на изменение доступности источника направления. Даже если слежение за изменением направления недоступно, реализация может присылать новое направление, но оно будет считаться недостоверным. См. метод CLLocationManagerDelegate.locationManager(didFailWithError).
IMapControlFactory
Фабрика кнопок для добавления на карту.
func makeZoomControl() -> ZoomControl
func makeCurrentLocationControl() -> CurrentLocationControl
func makeCompassControl() -> CompassControl
func makeTrafficControl() -> TrafficControl
func makeCreateRoadEventControl() -> CreateRoadEventControl
func makeIndoorControl(_ options: IndoorControlOptions) -> IndoorControl
func makeIndoorControl(_ options: IndoorControlOptions = .default) -> IndoorControl
IMapControlViewFactory
Фабрика SwiftUI кнопок для добавления на карту.
func makeCurrentLocationView() -> AnyView
func makeZoomView() -> AnyView
func makeTrafficView(colors: TrafficViewColors) -> AnyView
func makeIndoorView() -> AnyView
func makeCompassView(icon: UIImage?, highlightedIcon: UIImage?) -> AnyView
func makeMiniMapView(mapFactory: IMapFactory) throws -> AnyView
func makeRoadEventCreatorButtonView(callback: (() -> Void)?) -> AnyView
func makeCompassView() -> AnyView
IMapCoordinateSpace
Координатное пространство карты. Если карта не существует, то преобразования координат возвращают их без изменений, а bounds равно .zero. К методам и свойствам можно обращаться только из главной очереди.
IMapEventProcessor
Обработчик жестов карты. Все координаты принимаются в физических точках (пикселах).
func process(event: Event)
Обработка события управления картой.
event
Событие управления картой.
IMapFactory
Фабрика согласованых объектов карты.
var initialMapOptions
Начальные настройки карты. Не изменяются после создания карты. Можно читать из любой очереди.
var map
Контроллер карты и камеры. Можно обращаться из любой очереди, но необходима синхронизация в случае одновременного доступа.
var mapView
Слой карты. Можно читать только из главной очереди.
var mapViewOverlay
Слой карты для SwiftUI. Можно читать только из главной очереди.
var gestureView
Слой обработки жестов. За создание слоя отвечает свойство initialMapOptions.gestureViewFactory. Можно читать только из главной очереди.
var mapEventProcessor
Обработчик жестов карты.
Используется gestureView для управления событиями карты. Использование совместно с gestureView может нарушать транзакционность жестов и приводить к неопределенному поведению.
var mapCoordinateSpace
Координатное пространство карты.
var mapControlFactory
Фабрика стандартных элементов управления картой, использующих встроенный стиль.
var mapControlViewFactory
Фабрика стандартных SwiftUI элементов управления картой, использующих встроенный стиль.
var snapshotter
Инструмент для захвата изображения карты. Изображения делаются на основе текущего состояния. Можно читать из любой очереди.
var energyConsumption
Объект для настройки энергосбережения устройства.
var markerViewOverlay
Объект для работы с UIView маркерами на карте.
var mapMarkerViewOverlay
Объект для работы со SwiftUI View маркерами на карте.
IMapGestureView
Распознаватели жестов на карте по умолчанию.
var doubleTapGestureRecognizer
Распознаватель двойного прикосновения. Используется для приближения карты (уменьшения масштаба) с фиксированным коэффициентом.
var panGestureRecognizer
Распознаватель таскания. Используется для перемещения карты в плоскости. По умолчанию распознаётся таскание ровно одной точкой нажатия.
var twoFingerPanGestureRecognizer
Таскание двумя пальцами. Используется для трёхмерного наклона карты относительно горизонта.
var rotationGestureRecognizer
Жест вращения карты в плоскости.
var pinchGestureRecognizer
Изменение масштаба щипанием.
var twoFingerTapGestureRecognizer
Кратковременное прикосновение двумя пальцами. Используется для отдаления карты (увеличения масштаба) с фиксированным коэффициентом.
var doubleTapAndPanGestureRecognizer
Двойное прикосновение с последующим сдвигом. Используется для управления масштабом карты.
IMapGestureViewFactory
Фабрика слоя обработки жестов. Все методы вызываются только на главной очереди.
@available(*, deprecated, message: "Please use makeGestureView(map:eventProcessor:coordinateSpace:)")
func makeGestureView(
map: Map,
coordinateSpace: IMapCoordinateSpace
) -> UIView & IMapGestureView
Создать слой обработки жестов.
Устаревший метод. Необходимо использовать makeGestureView(map:eventProcessor:coordinateSpace:).
func makeGestureView(
map: Map,
eventProcessor: IMapEventProcessor,
coordinateSpace: IMapCoordinateSpace
) -> UIView & IMapGestureView
Создать слой обработки жестов.
@available(*, deprecated, message: "Please use makeGestureView(map:eventProcessor:coordinateSpace:)")
func makeGestureView(
map: Map,
coordinateSpace: IMapCoordinateSpace
) -> UIView & IMapGestureView
Создать слой обработки жестов.
func makeGestureView(
map: Map,
eventProcessor: IMapEventProcessor,
coordinateSpace: IMapCoordinateSpace
) -> UIView & IMapGestureView
Создать слой обработки жестов.
This documentation comment was inherited from .
IMapSnapshotter
Инструмент по захвату изображения карты.
func makeImage(
scale: CGFloat,
orientation: UIImage.Orientation
) -> Future<UIImage>
Получить изображение карты на основе её текущего состояния. Можно вызывать из любой очереди. Значение возвращается во Future на неопределённой очереди.
Перед вызовом метода необходимо убедиться, что сцена, отображающая карту, находится в состоянии UIScene.ActivationState.foregroundActive. Под iOS 12 приложение должно находиться в состоянии UIApplication.State.active.
func makeImage(
scale: CGFloat = 1,
orientation: UIImage.Orientation = .up
) -> Future<UIImage>
Получить изображение карты на основе её текущего состояния. Можно вызывать из любой очереди. Значение возвращается во Future на неопределённой очереди.
Перед вызовом метода необходимо убедиться, что сцена, отображающая карту, находится в состоянии UIScene.ActivationState.foregroundActive. Под iOS 12 приложение должно находиться в состоянии UIApplication.State.active.
IMapView
Протокол слоя карты.
func addObjectTappedCallback(callback: MapObjectTappedCallback)
Добавить функцию обратного вызова, которая будет вызываться при клике или при долгом клике на карту.
callback
func addObjectLongPressCallback(callback: MapObjectTappedCallback)
callback
func removeObjectTappedCallback(callback: MapObjectTappedCallback)
Удалить функцию обратного вызова, которая вызывалась при клике или при долгом клике на карту.
callback
func removeLongPressCallback(callback: MapObjectTappedCallback)
callback
var gestureView
Дополнительный слой, располагающийся над всей поверхностью карты. Используется для перехвата жестов. Если заменить этот слой на иной, нужно также реализовать отправку событий карты через IMapEventProcessor. В случае установки nil встроенная обработка жестов прекратится.
var appearance
Задать активный набор тем текущего стиля и возможность автоматического переключения тем в зависимости от окружения. Если выбран .automatic, карта переключится на выбранную пару тем с учётом текущего отображения (светлого или тёмного). Эта возможность доступна начиная с iOS 13. Если же выбран .universal, используется только одна активная тема в любом окружении. Эта возможность доступна ранее iOS 13.
var showsAPIVersion
Показывать ли версию API в копирайте. По умолчанию false.
var copyrightAlignment
По умолчанию bottomRight.
var copyrightInsets
Отступы копирайта от границ карты. По умолчанию .zero. При позиционировании учитываются safeAreaInsets представления карты. Значения отступов не должны быть отрицательными.
var urlOpener
Пользовательский обработчик открытия URL при тапе в копирайт.
Позволяет переопределить поведение по умолчанию, при котором переход по ссылке будет осуществлен без подтверждения со стороны пользователя.
IMarkerView
Протокол UIView маркера.
IMarkerViewFactory
Фабрика для создания UIView маркеров.
func make(
/// Отображение маркера.
view: UIView,
/// Точка на карте, к которой осуществляется привязка.
position: GeoPointWithElevation,
/// Относительная точка на View, к которой осуществяется привязка.
anchor: Anchor,
/// Дополнительное смещение в пикселях по оси X.
offsetX: CGFloat,
/// Дополнительное смещение в пикселях по оси Y.
offsetY: CGFloat
) -> IMarkerView
Создать маркер.
IMarkerViewOverlay
Протокол для работы с UIView маркерами на карте.
func removeAll()
Удалить все маркеры.
IModelFactory
func make(modelData: Data) -> ModelData
Создать модель на основе бинарных данных.
INativeScaleProvider
Протокол, описывающие преобразование точек в пикселы.
INavigationControlView
UI-элемент навигатора.
INavigationMapControlsFactory
Фабрика UI-элементов карты в навигаторе.
var followManager
Текущий объект для переключения режимов слежения в навигаторе.
INavigationMapViewsFactory
Фабрика SwiftUI Map элементов для добавления в навигатор.
INavigationView
var visibleAreaEdgeInsets
Видимая область карты с учетом интерфейса навигатора.
var visibleAreaEdgeInsetsChangedCallback
Замыкание обратного вызова при изменении видимой области карты.
var finishButtonCallback
Замыкание обратного вызова при нажатии кнопки завершения маршрута.
INavigationViewControlsFactory
Фабрика UI-элементов навигатора.
INavigationViewFactory
Фабрика UI-элементов навигатора.
INavigationViewsFactory
Фабрика SwiftUI элементов для добавления в навигатор.
INavigatorFollowManager
Обертка для переключения режимов слежения в навигаторе.
INavigatorFollowManagerObservation
INavigatorViewFactory
Фабрика SwiftUI элементов навигатора.
INextManeuverControlView
UI-элемент с информацией о следующем манёвре и дополнительном манёвре.
var onDidRequestLayout
Сигнал о необходимости обновления макета.
IRoadEventCardView
Протокол карточки дорожного события.
func setRoadEvent(_ roadEvent: RoadEvent)
Обновить контент карточки данными нового дорожного события.
roadEvent
Дорожное событие.
var closeButtonCallback
Замыкание обратного вызова при нажатии кнопки закрытия.
var roadEventActionResultCallback
Замыкание обратного вызова при завершении обработки действия дорожного события.
var removeRoadEventActionResultCallback
Замыкание обратного вызова при завершении обработки действия дорожного события.
IRoadEventCardViewFactory
UIKit фабрика карточки дорожного события.
func makeRoadEventCardView(_ roadEvent: RoadEvent) -> IRoadEventCardView
Карточка дорожного события.
func makeCreateRoadEventView(map: Map) -> ICreateRoadEventView
Интерфейс создания дорожного события.
IRoadEventViewFactory
SwiftUI фабрика карточки дорожного события.
func makeRoadEventInfoView(_ roadEvent: RoadEvent) -> RoadEventInfoView
Карточка дорожного события.
func makeRoadEventCreatorView(
map: Map,
visibleAreaEdgeInsets: Binding<EdgeInsets>?
) -> RoadEventCreatorView
SwiftUI элемент для создания дорожного события.
IRouteDetailsView
Протокол карточки деталей маршрута.
IRouteEditorFactory
Конструктор источников данных карты.
IRouteListView
Протокол списка превью маршрутов.
IRouteView
Протокол превью карточки маршрута.
var route
Маршрут.
ISDKError
Протокол для всех исключений MobileSDK.
ISearchManager
Поисковик. Основная точка входа для справочного API.
func suggest(
query: SuggestQuery
) -> Future<SuggestResult>
Получить подсказки, соответствующие данному запросу.
query
Запрос на подсказку по поиску в справочнике.
func search(
query: SearchQuery
) -> Future<SearchResult>
Получить объекты справочника, соответствующие данному запросу.
query
Запрос на поиск по справочнику.
func searchById(
id: String
) -> Future<DirectoryObject?>
Получить объект справочника по строковому идентификатору.
id
Строковый идентификатор справочника. Возможен сложный идентификатор, который получен в результате запроса к WebAPI.
func searchByDirectoryObjectId(
objectId: DgisObjectId
) -> Future<DirectoryObject?>
Получить объект справочника по идентификатору.
objectId
Идентификатор объекта в справочнике.
ISearchManagerFactory
Фабрика поисковиков с разными источниками данных.
func makeOnlineManager() throws -> ISearchManager?
Создать поисковик, работающий онлайн.
func makeOfflineManager() throws -> ISearchManager?
Создать поисковик, работающий с предзагруженными данными.
func makeSmartManager() throws -> ISearchManager?
Создать поисковик, работающий онлайн или с предзагруженными данными в зависимости от наличия подключения к интернету.
ISearchResultItemViewFactory
func makeTitleView() -> AnyView
func makeSubtitleView() -> AnyView
func makeRatingView() -> AnyView
func makeDistanceView() -> AnyView
func makeAddressView() -> AnyView
func makeAttributesView() -> AnyView
func makeChargingStationView() -> AnyView
func makeAlertView() -> AnyView
ISourceFactory
Конструктор источников данных карты.
func createOnlineDGISSource() -> Source
Создание источника, получающего данные с серверов 2ГИС.
func createGeometryMapObjectSourceBuilder() -> GeometryMapObjectSourceBuilder
Создание источника данных с наложенными объектами (например, маркерами).
func createOfflineDGISSource() -> Source
Создание источника, использующего в работе предварительно загруженные данные 2ГИС.
func createHybridDGISSource() -> Source
Создание источника, использующего в работе данные с серверов 2ГИС и предварительно загруженные данные 2ГИС.
func createRouteEditorSource(routeEditor: RouteEditor) -> RouteEditorSource
Создать источник данных для редактирования маршрута.
IStyleFactory
Интерфейс инструмента загрузки стилей.
func setAttribute(name: String, value: AttributeValue) -> Self
func loadDefault() -> Future<Style>
Получение предустановленного стиля.
func loadFile(path: String) -> Future<Style>
Загрузка пользовательского стиля из указанного файла по абсолютному пути.
path
func loadFile(url: URL) -> Future<Style>
Загрузка пользовательского стиля из указанного файла по URL. URL должен быть по схеме “file:”, иначе будет возвращена ошибка.
url
func loadResource(name: String, bundle: Bundle) -> Future<Style>
Загрузка пользовательского стиля по имени из указанного пакета.
IThermometerControlView
var eventsPosition
IVoiceAssistantService
func requestPermission(completion: @escaping ((VoicePermissionState) -> Void))
func startRecognition(
progress: @escaping ((VoiceRecognitionState) -> Void),
completion: @escaping ((VoiceRecognitionResult) -> Void)
)
func abortRecognition()
LogSink
Приемник логирования.
SimpleClusterRenderer
Класс для кастомизации внешнего вида кластера в IMapObjectManager.
func renderCluster(
cluster: SimpleClusterObject
) -> SimpleClusterOptions