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()
IDirectoryViewsFactory
Фабрика SwiftUI-элементов справочника.
func makeVoiceAssistantView(speechService: (any IVoiceAssistantService)?) -> VoiceAssistantView
SwiftUI-элемент для голосового ввода.
func makeSearchResultItemView(
object: DirectoryObject,
onTap: @escaping (DirectoryObject) -> Void,
lastLocation: GeoPoint?
) -> SearchResultItemView
SwiftUI-элемент карточки объекта в поисковой выдаче.
IDoubleTapAndPanGestureRecognizer
Число точек вертикального сдвига, приводящее к изменению масштаба в два раза.
Для обработчика жеста по умолчанию используется значение -100. Сдвиг вниз (увеличение y) увеличивает масштаб. Сдвиг вверх (уменьшение y) уменьшает масштаб. Для увеличения масштаба в 2 раза, при таком значении скорости масштабирования, нужно провести пальцем вниз на 100 pt.
IEnergyConsumption
Протокол для настройки энергосбережения устройства.
func setFpsCallback(_ fpsCallback: FpsCallback?)
Установить функцию обратного вызова на изменение fps.
IHTTPClient
Интерфейс сетевого клиента для отправки HTTP-запросов.
func send(
request: URLRequest,
callback: @escaping RequestDataCompletionCallback
)
Функция для отправки запроса и получения результата выполнения через callback. Обработка результатов будет выполнена в callback.
HTTP-запрос.
Функция обратного вызова при получении результата запроса.
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, то слежение за обновлением геопозиции нужно отключить.
Функция обратного вызова на обновление текущей гепозиции. Если провайдер доступен (вызов availabilityCallback со значением true), то данный источник всегда доставляет достоверную геопозицию. Достоверная геопозиция - это геопозиция, в которой все поля имеют актуальное значение на момент ее отправки в этот канал (т.е. если точность геопозиции >= половине длины экватора Земли, то геопозиция является достоверной для любых от указанных в ней корректных координат). Если значение точности <= 0, то позиция считается недостоверной даже если isAvailable == true. См. метод CLLocationManagerDelegate.locationManager(didUpdateLocations:).
Функция обратного вызова на изменение доступности источника геопозиции. Если вызвана эта функция со значением true, то все последующие вызовы locationCallback будут содержать достоверную (актуальную) геопозицию. Даже если слежение за изменением геопозиции недоступно, реализация ILocationProvider может присылать новую геопозицию, но она будет считаться недостоверной. См. метод CLLocationManagerDelegate.locationManager(didFailWithError:).
func setDesiredAccuracy(_ accuracy: DesiredAccuracy)
Задает желаемую точность определения местоположения. Если устройство не может вернуть местоположение с желаемой точностью, то оно может вернуть местоположение с меньшей точностью. Если платфора не предоставляет аналогичный по функциональности метод, то данный метод должен иметь пустую реализацию.
См. метод CLLocationManager.desiredAccuracy и \ .
IMagneticHeadingProvider
Протокол, предоставляющий направление устройства относительно направления на магнитный север. Все методы данного интерфейса должны вызываться из очереди IPositioningServicesFactory.positiningQueue.
func setCallbacks(
headingCallback: HeadingCallback?,
availabilityCallback: AvailabilityCallback?
)
Устанавливает функции обратного вызова на обновление текущего направления и изменения доступности источника направления. Повторный вызов данного метода перезаписывает предыдущие функции обратного вызова. Если оба параметра равны nil, то слежение за обновлением направления нужно отключить.
Функция обратного вызова на обновление текущего направления. См. метод CLLocationManagerDelegate.locationManager(didUpdateHeading:).
Функция обратного вызова на изменение доступности источника направления. Даже если слежение за изменением направления недоступно, реализация может присылать новое направление, но оно будет считаться недостоверным. См. метод CLLocationManagerDelegate.locationManager(didFailWithError).
IMapCoordinateSpace
Координатное пространство карты. Если карта не существует, то преобразования координат возвращают их без изменений, а bounds равно .zero. К методам и свойствам можно обращаться только из главной очереди.
IMapEventProcessor
Обработчик жестов карты. Все координаты принимаются в физических точках (пикселах).
func process(event: Event)
Обработка события управления картой.
Событие управления картой.
IMapFactory
Фабрика согласованых объектов карты.
Начальные настройки карты. Не изменяются после создания карты. Можно читать из любой очереди.
Контроллер карты и камеры. Можно обращаться из любой очереди, но необходима синхронизация в случае одновременного доступа.
Слой карты. Можно читать только из главной очереди.
Слой карты для SwiftUI. Можно читать только из главной очереди.
Слой обработки жестов с помощью свойства initialMapOptions.gestureViewFactory. Можно читать только из главной очереди.
Обработчик жестов карты.
Используется gestureView для управления событиями карты. Использование совместно с gestureView может нарушать транзакционность жестов и приводить к неопределенному поведению.
Координатное пространство карты.
Фабрика стандартных UI-элементов управления картой, использующих встроенный стиль.
Фабрика стандартных SwiftUI-элементов управления картой, использующих встроенный стиль.
Инструмент для захвата изображения карты. Изображения делаются на основе текущего состояния. Можно читать из любой очереди.
Объект для настройки энергосбережения устройства.
Объект для работы с UIView-маркерами на карте.
Объект для работы со SwiftUI View маркерами на карте.
IMapGestureUIView
Распознавание жестов по умолчанию.
Распознавание двойного тапа. Используется для уменьшения масштаба карты с фиксированным коэффициентом.
Распознавание таскания. Используется для перемещения карты. По умолчанию распознаётся таскание одним нажатием.
Распознавание таскания двумя пальцами. Используется для наклона карты.
Распознавание вращения карты.
Распознавание щипка. Используется для масштабирования карты.
Распознавание кратковременного тапа двумя пальцами. Используется для увеличения масштаба карты с фиксированным коэффициентом.
Распознавание двойного тапа с последующим сдвигом. Используется для масштабирования карты.
IMapGestureUIViewFactory
Фабрика слоя обработки жестов. Методы вызываются только на главной очереди.
@available(*, deprecated, message: "Please use makeGestureView(map:eventProcessor:coordinateSpace:)")
func makeGestureUIView(
map: Map,
coordinateSpace: IMapCoordinateSpace
) -> UIView & IMapGestureUIView
Создать слой обработки жестов.
Устаревший метод. Необходимо использовать makeGestureUIView(map:eventProcessor:coordinateSpace:).
func makeGestureUIView(
map: Map,
eventProcessor: IMapEventProcessor,
coordinateSpace: IMapCoordinateSpace
) -> UIView & IMapGestureUIView
Создать слой обработки жестов.
@available(*, deprecated, message: "Please use makeGestureView(map:eventProcessor:coordinateSpace:)")
func makeGestureUIView(
map: Map,
coordinateSpace: IMapCoordinateSpace
) -> UIView & IMapGestureUIView
Создать слой обработки жестов.
func makeGestureUIView(
map: Map,
eventProcessor: IMapEventProcessor,
coordinateSpace: IMapCoordinateSpace
) -> UIView & IMapGestureUIView
Создаёт слой обработки жестов.
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.
IMapUIControlsFactory
Фабрика UI-элементов карты.
func makeZoomUIControl() -> ZoomUIControl
func makeCurrentLocationUIControl() -> CurrentLocationUIControl
func makeCompassUIControl() -> CompassUIControl
func makeTrafficUIControl() -> TrafficUIControl
func makeRoadEventCreatorButtonUIControl() -> RoadEventCreatorButtonUIControl
func makeIndoorUIControl(_ options: IndoorUIControlOptions) -> IndoorUIControl
func makeIndoorUIControl(_ options: IndoorUIControlOptions = .default) -> IndoorUIControl
IMapUIView
Слой карты.
func addObjectTappedCallback(callback: MapObjectTappedCallback)
Добавляет функцию обратного вызова, которая вызывается при длительном нажатии на карту.
func addObjectLongPressCallback(callback: MapObjectTappedCallback)
func removeObjectTappedCallback(callback: MapObjectTappedCallback)
Удаляет функцию обратного вызова, которая вызывается при длительном нажатии на карту.
func removeLongPressCallback(callback: MapObjectTappedCallback)
Добавляет слой для перехвата жестов, находится над картой. При замене на другой слой необходимо реализовать отправку событий карты через IMapEventProcessor. При установке значения nil встроенная обработка жестов отключается.
Устанавливает активный набор тем текущего стиля и автоматическое переключение тем в зависимости от окружения. При установке значения .automatic карта переключается между светлой и тёмной темами в зависимости от системных настроек. Доступно только для iOS 13 и выше. Для iOS 13 и ниже доступно значение .universal, при котором используется только одна активная тема в любом окружении.
Показ версии API в копирайте. Значение по умолчанию — false.
Устанавливает позицию копирайта на карте. Значение по умолчанию — bottomRight.
Устанавливает отступы копирайта от границ карты. Значение по умолчанию — .zero. При позиционировании учитываются safeAreaInsets. Значения не могут быть отрицательными.
Обрабатывает открытие URL при нажатии на копирайт. Позволяет переопределить стандартное поведение, при котором переход по ссылке осуществляется без подтверждения со стороны пользователя.
IMapViewsFactory
Фабрика 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
IMarkerOverlayUIView
Управление UIView-маркерами на карте.
func removeAll()
Удаляет все маркеры.
IMarkerUIView
UIView-маркер.
Идентификатор маркера.
Точка на карте, к которой привязан маркер.
Обработчик при нажатии на UIView маркер.
IMarkerUIViewFactory
Фабрика для создания UIView-маркеров.
func make(
/// Отображение маркера.
view: UIView,
/// Точка на карте, к которой осуществляется привязка.
position: GeoPointWithElevation,
/// Относительная точка на View, к которой осуществяется привязка.
anchor: Anchor,
/// Дополнительное смещение в пикселях по оси X.
offsetX: CGFloat,
/// Дополнительное смещение в пикселях по оси Y.
offsetY: CGFloat
) -> IMarkerUIView
Создаёт маркер.
IModelFactory
func make(modelData: Data) -> ModelData
Создать модель на основе бинарных данных.
INativeScaleProvider
Протокол, описывающие преобразование точек в пикселы.
Множитель для преобразования в пикселы. Если карта не существует, то значение равно 1. Можно обращаться только из главной очереди.
Матрица преобразования из точек в пикселы. Множитель по x и y равен nativeScale.
INavigationMapUIControlsFactory
Фабрика UI-элементов карты в навигаторе.
func makeTrafficAndParkingMapUIControl() -> UIControl
UI-элемент для управления видимостью пробок и парковок на карте.
func makeCompassUIControl(icon: UIImage?, highlightedIcon: UIImage?) -> UIControl
UI-элемент для отображения текущего угла поворота карты относительно севера.
func makeIndoorUIControl() -> IndoorUIControl
UI-элемент для переключения этажей в этажном плане.
func makeTrafficUIControl() -> UIControl
UI-элемент для управления видимостью пробок на карте.
func makeParkingUIControl() -> UIControl
UI-элемент для управления видимостью парковок на карте.
func makeCompassUIControl() -> UIControl
Текущий объект для переключения режимов слежения в навигаторе.
INavigationMapViewsFactory
Фабрика SwiftUI Map элементов для добавления в навигатор.
INavigationUIControl
UI-элемент навигатора.
Видимость элемента.
Сигнал изменения видимости элемента.
INavigationUIControlsFactory
Фабрика UI-элементов навигатора.
func makeNextManeuverUIControl(
uiModel: Model
) -> UIView & INextManeuverUIControl
UI-элемент с информацией о следующем и дополнительном манёвре.
func makeSpeedUIControl(
uiModel: Model
) -> (UIView & INavigationUIControl)
UI-элемент с информацией о текущей скорости движения, ограничении скорости на текущем участке маршрута и предупреждении о прохождении зоны действия камеры.
func makeRemainingRouteInfoUIControl(
navigationManager: NavigationManager
) -> UIView & INavigationUIControl
UI-элемент с информацией об оставшемся расстоянии и ориентировочном времени прибытия или оставшемся времени в пути.
func makeMessageBarUIControl(
uiModel: Model
) -> UIView & INavigationUIControl
UI-элемент для отображения сообщений о статусе навигации, например, о поиске маршрута и потере GPS-сигнала.
func makeBetterRouteUIControl(
uiModel: Model
) -> UIView & INavigationUIControl
UI-элемент для перехода на маршрут с меньшим ожидаемым временем прибытия.
INavigationUIView
func showRoadEvent(_ roadEvent: RoadEvent)
Отображает карточку дорожного события.
Видимая область карты с учётом интерфейса навигатора.
Замыкание обратного вызова при изменении видимой области карты.
Замыкание обратного вызова при нажатии кнопки завершения маршрута.
INavigationUIViewFactory
Фабрика UI-элементов навигатора.
func makeRouteListUIView(_ routes: [TrafficRoute]) -> IRouteListUIView
Создаёт UI списка превью маршрутов.
func makeRouteUIView(_ route: TrafficRoute) -> IRouteUIView
Создаёт UI превью маршрута.
func makeRouteDetailsUIView(
_ route: TrafficRoute,
startName: String?,
finishName: String?
) -> IRouteDetailsUIView
Создаёт UI деталей маршрута.
Маршрут.
Название начальной точки маршрута.
Название конечной точки маршрута.
INavigationViewFactory
Фабрика SwiftUI элементов навигатора.
INavigationViewsFactory
Фабрика SwiftUI-элементов для добавления в навигатор.
func makeFinishRouteDashboardView(
map: Map,
uiModel: Model
) -> AnyView
SwiftUI-элемент с информацией о завершении маршрута.
func makeNextManeuverView(
uiModel: Model
) -> AnyView
SwiftUI-элемент с информацией о следующем манёвре и дополнительном манёвре. См. , , .
func makeRemainingRouteInfoView(
navigationManager: NavigationManager
) -> AnyView
SwiftUI-элемент с информацией об оставшемся расстоянии и ориентировочном времени прибытия/оставшемся времени в пути. См. , и .
func makeSpeedView(
uiModel: Model
) -> AnyView
SwiftUI-элемент с информацией о текущей скорости движения, ограничении скорости на текущем участке маршрута и предупреждении о прохождении зоны действия камеры. См. , и .
func makeThermometerView(
uiModel: Model, isLeftSide: Bool
) -> AnyView
SwiftUI-элемент для отображения скоростей движения ТС и дорожных событий на маршруте. См. .
func makeMessageBarView(
uiModel: Model,
onVisibilityChanged: @escaping (Bool) -> Void
) -> AnyView
SwiftUI-элемент для отображения сообщений об ошибках при построении маршрутов.
func makeBetterRouteView(
uiModel: Model,
onVisibilityChanged: @escaping (Bool) -> Void
) -> AnyView
SwiftUI-элемент для отображения и выбора маршрута лучше.
func makeMiniMapView(
navigationManager: NavigationManager,
miniMapFactory: IMapFactory
) throws -> AnyView
SwiftUI-элемент для отображения маршрута в виде миникарты.
INavigatorFollowManager
Обертка для переключения режимов слежения в навигаторе.
func toggleFollowMode()
Переключает режим слежения на следующий доступный.
func addFollowModeObserver(_ observer: @escaping FollowModeObserver) -> INavigatorFollowManagerObservation
INavigatorFollowManagerObservation
func invalidate()
INextManeuverUIControl
UI-элемент с информацией о следующем и дополнительном манёвре.
Сигнал о необходимости обновления макета.
InstallFallback
Поведение при ошибке установки или обновления пакета.
IRoadEventCreatorUIView
Интерфейс создания дорожного события.
Видимая область с учётом размера карточки создания дорожного события.
Замыкание обратного вызова при изменении видимой области.
Замыкание обратного вызова при нажатии кнопки отмены.
Замыкание обратного вызова с результатом создания дорожного события.
IRoadEventInfoUIView
UI-элемент карточки дорожного события.
func setRoadEvent(_ roadEvent: RoadEvent)
Обновляет содержимое карточки данными нового дорожного события.
Дорожное событие.
Замыкание обратного вызова при нажатии кнопки закрытия.
Замыкание обратного вызова при завершении обработки действия дорожного события.
Замыкание обратного вызова при завершении обработки действия дорожного события.
IRoadEventUIViewFactory
Фабрика UIKit-элемента карточки дорожного события.
func makeRoadEventInfoUIView(_ roadEvent: RoadEvent) -> IRoadEventInfoUIView
Карточка дорожного события.
func makeRoadEventCreatorUIView(map: Map) -> IRoadEventCreatorUIView
Создаёт дорожное событие.
IRoadEventViewFactory
SwiftUI фабрика карточки дорожного события.
func makeRoadEventInfoView(_ roadEvent: RoadEvent) -> RoadEventInfoView
Карточка дорожного события.
func makeRoadEventCreatorView(
map: Map,
visibleAreaEdgeInsets: Binding<EdgeInsets>?
) -> RoadEventCreatorView
SwiftUI элемент для создания дорожного события.
IRouteDetailsUIView
Карточка деталей маршрута.
IRouteEditorFactory
Конструктор источников данных карты.
IRouteListUIView
Список превью маршрутов.
IRouteUIView
Превью карточки маршрута.
Маршрут.
ISDKError
Протокол для всех исключений MobileSDK.
ISearchManagerFactory
Фабрика поисковиков с разными источниками данных.
func makeOnlineManager() throws -> SearchManager?
Создать поисковик, работающий онлайн.
func makeOfflineManager() throws -> SearchManager?
Создать поисковик, работающий с предзагруженными данными.
func makeSmartManager() throws -> SearchManager?
Создать поисковик, работающий онлайн или с предзагруженными данными в зависимости от наличия подключения к интернету.
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>
Загрузка пользовательского стиля из указанного файла по абсолютному пути.
func loadFile(url: URL) -> Future<Style>
Загрузка пользовательского стиля из указанного файла по URL. URL должен быть по схеме “file:”, иначе будет возвращена ошибка.
func loadResource(name: String, bundle: Bundle) -> Future<Style>
Загрузка пользовательского стиля по имени из указанного пакета.
IThermometerUIControl
IVoiceAssistantService
func requestPermission(completion: @escaping ((VoicePermissionState) -> Void))
func startRecognition(
progress: @escaping ((VoiceRecognitionState) -> Void),
completion: @escaping ((VoiceRecognitionResult) -> Void)
)
func abortRecognition()
LogSink
Приемник логирования.
SearchHistoryKeyStrategy
Политика создания ключа для элемента истории поиска. Ключ определяет уникальность записи в истории.
SimpleClusterRenderer
Класс для кастомизации внешнего вида кластера в IMapObjectManager.
func renderCluster(
cluster: SimpleClusterObject
) -> SimpleClusterOptions