interface
CameraMoveController
Класс, позволяющий управлять положением камеры для нужд анимации
Класс должен быть потокобезопасным.
func animationTime() -> TimeInterval
CustomFollowController
Интерфейс, который можно реализовать на платформе для создания собственного контроллера слежения за параметрами Для добавления контроллера в камеру, нужно реализовать этот интерфейс и создать объект FollowController’а передав в качестве аргумента объект, реализующий данные интерфейс.
func availableValues() -> FollowValueOptionSet
func coordinates() -> GeoPoint?
func satelliteBearing() -> Bearing?
func magneticBearing() -> Bearing?
func tilt() -> Tilt?
func styleZoom() -> StyleZoom?
func accuracy() -> Double?
HttpClient
Интерфейс для реализации сетевого клиента на платформе.
func sendRequest(
request: HttpRequest,
callback: HttpResponseCallback
)
IAudioSettings
Интерфейс для изменения настроек звука.
Приглушать все звуки других приложений.
Уровень громкости звука.
IBatteryManagerDelegate
Методы управления слежением за батареей. Реализация может включать и выключать слежение за батареей с помощью изменения UIDevice.isBatteryMonitoringEnabled.
func startBatteryMonitoring()
Запрос на запуск слежения за состоянием батареи с помощью установки UIDevice.current.isBatteryMonitoringEnabled в true. Если UIDevice.current.isBatteryMonitoringEnabled уже true, то менять состояние необязательно. Если включение слежения нежелательно, реализация может быть пустой.
func stopBatteryMonitoring()
Запрос на выключение слежения за состоянием батареи с помощью установки UIDevice.current.isBatteryMonitoringEnabled в true. Если UIDevice.current.isBatteryMonitoringEnabled уже false, то менять состояние необязательно. Если необходимо продолжать слежение за батареей, значение isBatteryMonitoringEnabled может быть оставлено прежним.
ICancellable
Жетон для отмены операции, при запуске которой он был получен.
func cancel()
ICreateRoadEventView
Протокол интерфейса создания дорожного события.
Видимая область с учетом размера карточки создания дорожного события.
Замыкание обратного вызова при изменении видимой области.
Замыкание обратного вызова при нажатии кнопки отмены.
Замыкание обратного вызова с результатом создания дорожного события.
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 и \ .
Наилучшая известная на текущий момент геопозиция. Если известная на текущий момент геопозиция отсутствует, возвращается nil. Возвращаемая данным методом геопозиция может быть недостоверной (см. setCallbacks). Этот метод должен запросить у системы наилучшую известную на текущий момент геопозиции и вернуть её даже если она является устаревшей и/или не соответствует требуемой точности. Если API платформы не предоставляет аналогичный по функциональности метод, то данный метод всегда должен возвращать nil.
См. метод CLLocationManager.location.
ILocationService
Интерфейс источника геопозиции.
Наилучшая известная на текущий момент геопозиция. Если известная на текущий момент геопозиция отсутствует, возвращается nil. Возвращаемая данным методом геопозиция может быть недостоверной. Этот метод должен запросить у системы наилучшую известную на текущий момент геопозиции и вернуть её даже если она является устаревшей и/или не соответствует требуемой точности. Если API платформы не предоставляет аналогичный по функциональности метод, то данный метод всегда будет возвращать nil.
См. метод CLLocationManager.location.
IMagneticHeadingProvider
Протокол, предоставляющий направление устройства относительно направления на магнитный север. Все методы данного интерфейса должны вызываться из очереди IPositioningServicesFactory.positiningQueue.
func setCallbacks(
headingCallback: HeadingCallback?,
availabilityCallback: AvailabilityCallback?
)
Устанавливает функции обратного вызова на обновление текущего направления и изменения доступности источника направления. Повторный вызов данного метода перезаписывает предыдущие функции обратного вызова. Если оба параметра равны nil, то слежение за обновлением направления нужно отключить.
Функция обратного вызова на обновление текущего направления. См. метод CLLocationManagerDelegate.locationManager(didUpdateHeading:).
Функция обратного вызова на изменение доступности источника направления. Даже если слежение за изменением направления недоступно, реализация может присылать новое направление, но оно будет считаться недостоверным. См. метод 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
IMapCoordinateSpace
Координатное пространство карты. Если карта не существует, то преобразования координат возвращают их без изменений, а bounds равно .zero. К методам и свойствам можно обращаться только из главной очереди.
IMapEventProcessor
Обработчик жестов карты. Все координаты принимаются в физических точках (пикселах).
func process(event: Event)
Обработка события управления картой.
Событие управления картой.
IMapFactory
Фабрика согласованых объектов карты.
Начальные настройки карты. Не изменяются после создания карты. Можно читать из любой очереди.
Контроллер карты и камеры. Можно обращаться из любой очереди, но необходима синхронизация в случае одновременного доступа.
Слой карты. Можно читать только из главной очереди.
Слой обработки жестов. За создание слоя отвечает свойство initialMapOptions.gestureViewFactory. Можно читать только из главной очереди.
Обработчик жестов карты.
Используется gestureView для управления событиями карты. Использование совместно с gestureView может нарушать транзакционность жестов и приводить к неопределенному поведению.
Координатное пространство карты.
Фабрика стандартных элементов управления картой, использующих встроенный стиль.
Инструмент для захвата изображения карты. Изображения делаются на основе текущего состояния. Можно читать из любой очереди.
Объект для настройки энергосбережения устройства.
Объект для работы с UIView маркерами на карте.
IMapGestureView
Распознаватели жестов на карте по умолчанию.
Распознаватель двойного прикосновения. Используется для приближения карты (уменьшения масштаба) с фиксированным коэффициентом.
Распознаватель таскания. Используется для перемещения карты в плоскости. По умолчанию распознаётся таскание ровно одной точкой нажатия.
Таскание двумя пальцами. Используется для трёхмерного наклона карты относительно горизонта.
Жест вращения карты в плоскости.
Изменение масштаба щипанием.
Кратковременное прикосновение двумя пальцами. Используется для отдаления карты (увеличения масштаба) с фиксированным коэффициентом.
Двойное прикосновение с последующим сдвигом. Используется для управления масштабом карты.
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)
Добавить функцию обратного вызова, которая будет вызываться при клике или при долгом клике на карту.
func addObjectLongPressCallback(callback: MapObjectTappedCallback)
func removeObjectTappedCallback(callback: MapObjectTappedCallback)
Удалить функцию обратного вызова, которая вызывалась при клике или при долгом клике на карту.
func removeLongPressCallback(callback: MapObjectTappedCallback)
Дополнительный слой, располагающийся над всей поверхностью карты. Используется для перехвата жестов. Если заменить этот слой на иной, нужно также реализовать отправку событий карты через IMapEventProcessor. В случае установки nil встроенная обработка жестов прекратится.
Задать активный набор тем текущего стиля и возможность автоматического переключения тем в зависимости от окружения. Если выбран .automatic, карта переключится на выбранную пару тем с учётом текущего отображения (светлого или тёмного). Эта возможность доступна начиная с iOS 13. Если же выбран .universal, используется только одна активная тема в любом окружении. Эта возможность доступна ранее iOS 13.
Показывать ли версию API в копирайте. По умолчанию false.
По умолчанию bottomRight.
Отступы копирайта от границ карты. По умолчанию .zero. При позиционировании учитываются safeAreaInsets представления карты. Значения отступов не должны быть отрицательными.
Пользовательский обработчик открытия URL при тапе в копирайт.
Позволяет переопределить поведение по умолчанию, при котором переход по ссылке будет осуществлен без подтверждения со стороны пользователя.
IMarkerView
Протокол UIView маркера.
Идентификатор маркера.
Точка на карте, к которой осуществляется привязка.
Пользовательский обработчик при тапе в UIView маркер.
IMarkerViewFactory
Фабрика для создания UIView маркеров.
func make(
/// Отображение маркера.
view: UIView,
/// Точка на карте, к которой осуществляется привязка.
position: GeoPointWithElevation,
/// Относительная точка на View, к которой осуществяется привязка.
anchor: Anchor,
/// Дополнительное смещение в пикселях по оси X.
offsetX: CGFloat,
/// Дополнительное смещение в пикселях по оси Y.
offsetY: CGFloat
) -> IMarkerView
Создать маркер.
IMarkerViewOverlay
Протокол для работы с UIView маркерами на карте.
func removeAll()
Удалить все маркеры.
INativeScaleProvider
Протокол, описывающие преобразование точек в пикселы.
Множитель для преобразования в пикселы. Если карта не существует, то значение равно 1. Можно обращаться только из главной очереди.
Матрица преобразования из точек в пикселы. Множитель по x и y равен nativeScale.
INavigationControlView
UI-элемент навигатора.
Видимость элемента.
Сигнал изменения видимости элемента.
INavigationMapControlsFactory
Фабрика UI-элементов карты в навигаторе.
func makeTrafficAndParkingMapControl() -> UIControl
UI-элемент для включения/выключения отображения пробок и парковочных мест.
func makeIndoorControl() -> IndoorControl
UI-элемент для переключения этажей в этажном плане.
Текущий объект для переключения режимов слежения в навигаторе.
INavigationView
func showRoadEvent(_ roadEvent: RoadEvent)
Показать карточку дорожного события.
Видимая область карты с учетом интерфейса навигатора.
Замыкание обратного вызова при изменении видимой области карты.
Замыкание обратного вызова при нажатии кнопки завершения маршрута.
INavigationViewControlsFactory
Фабрика UI-элементов навигатора.
func makeNextManeuverControl(
uiModel: Model
) -> UIView & INextManeuverControlView
UI-элемент с информацией о следующем манёвре и дополнительном манёвре. См. , , .
func makeSpeedControl(
uiModel: Model
) -> (UIView & INavigationControlView)
UI-элемент с информацией о текущей скорости движения, ограничении скорости на текущем участке маршрута и предупреждении о прохождении зоны действия камеры. См. , и .
func makeRemainingRouteInfoControl(
navigationManager: NavigationManager
) -> UIView & INavigationControlView
UI-элемент с информацией об оставшемся расстоянии и ориентировочном времени прибытия/оставшемся времени в пути. См. , и .
func makeMessageBarControl(
uiModel: Model
) -> UIView & INavigationControlView
UI-элемент для отображения сообщений о статусе навигации, например, о поиске маршрута и потере сигнала GPS. См. и .
func makeBetterRouteControl(
uiModel: Model
) -> UIView & INavigationControlView
UI-элемент перехода на маршрут с меньшим ожидаемым временем прибытия. См. .
INavigationViewFactory
Фабрика UI-элементов навигатора.
func makeRouteListView(_ routes: [TrafficRoute]) -> IRouteListView
Создать UI списка превью маршрутов.
func makeRouteView(_ route: TrafficRoute) -> IRouteView
Создать UI превью маршрута.
func makeRouteDetailsView(
_ route: TrafficRoute,
startName: String?,
finishName: String?
) -> IRouteDetailsView
Создать UI деталей маршрута.
Маршрут.
Название начальной точки маршрута.
Название конечной точки маршрута.
INavigatorFollowManager
Обертка для переключения режимов слежения в навигаторе.
func toggleFollowMode()
Переключает режим слежения на следующий доступный.
func addFollowModeObserver(_ observer: @escaping FollowModeObserver) -> INavigatorFollowManagerObservation
INavigatorFollowManagerObservation
func invalidate()
INextManeuverControlView
UI-элемент с информацией о следующем манёвре и дополнительном манёвре.
Сигнал о необходимости обновления макета.
IPositioningServicesFactory
Фабрика сервисов позиционирования. Все методы сконструированных объектов должны вызываться в очереди positioningQueue, если не указано иного.
Интерфейс источника геопозиционирования. Если nil, то функции геопозиционирования SDK оказываются недоступны.
Интерфейс источника магнитного ориентирования. Если nil, то функции магнитного ориентирования SDK оказываются недоступны.
IRoadEventCardView
Протокол карточки дорожного события.
func setRoadEvent(_ roadEvent: RoadEvent)
Обновить контент карточки данными нового дорожного события.
Дорожное событие.
Замыкание обратного вызова при нажатии кнопки закрытия.
Замыкание обратного вызова при завершении обработки действия дорожного события.
Замыкание обратного вызова при завершении обработки действия дорожного события.
IRoadEventCardViewFactory
Фабрика карточки дорожного события.
func makeRoadEventCardView(_ roadEvent: RoadEvent) -> IRoadEventCardView
Карточка дорожного события.
func makeCreateRoadEventView(map: Map) -> ICreateRoadEventView
Интерфейс создания дорожного события.
IRouteDetailsView
Протокол карточки деталей маршрута.
IRouteEditorFactory
Конструктор источников данных карты.
IRouteListView
Протокол списка превью маршрутов.
IRouteView
Протокол превью карточки маршрута.
Маршрут.
ISDKError
Протокол для всех исключений MobileSDK.
ISearchManager
Поисковик. Основная точка входа для справочного API.
func suggest(
query: SuggestQuery
) -> Future<SuggestResult>
Получить подсказки, соответствующие данному запросу.
Запрос на подсказку по поиску в справочнике.
func search(
query: SearchQuery
) -> Future<SearchResult>
Получить объекты справочника, соответствующие данному запросу.
Запрос на поиск по справочнику.
func searchById(
id: String
) -> Future<DirectoryObject?>
Получить объект справочника по строковому идентификатору.
Строковый идентификатор справочника. Возможен сложный идентификатор, который получен в результате запроса к WebAPI.
func searchByDirectoryObjectId(
objectId: DgisObjectId
) -> Future<DirectoryObject?>
Получить объект справочника по идентификатору.
Идентификатор объекта в справочнике.
ISearchManagerFactory
Фабрика поисковиков с разными источниками данных.
func makeOnlineManager() throws -> ISearchManager?
Создать поисковик, работающий онлайн.
func makeOfflineManager() throws -> ISearchManager?
Создать поисковик, работающий с предзагруженными данными.
func makeSmartManager() throws -> ISearchManager?
Создать поисковик, работающий онлайн или с предзагруженными данными в зависимости от наличия подключения к интернету.
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>
Загрузка пользовательского стиля по имени из указанного пакета.
IThermometerControlView
LogSink
Приемник логирования.
SimpleClusterRenderer
Класс для кастомизации внешнего вида кластера в IMapObjectManager.
func renderCluster(
cluster: SimpleClusterObject
) -> SimpleClusterOptions