Release notes
Важно: Поддержка версий API, описанных ниже, прекращена. Используйте версии 10.0 и выше. См. инструкции по миграции с более низких версий.
7.4.1 (2023-12-29)
🛠 Исправления
- Исправлен рендеринг карты - карта зависала при отображении модального окна над
MapView
.
7.4.0 (2023-11-15)
🌟 Новые возможности
- Добавлены
MarkerOptions.iconAnimationMode
иMarker.iconAnimationMode
для возможности задания режима анимации в маркерах. Режим может быть обычным или зацикленным.
🛠 Исправления
- Оптимизировано и исправлено отображение карты на последних версиях iOS.
- Исправлена работа метода
SimpleClusterObject.setIcon
при первом вызове. - Исправлена работа кластеризации через
MapObjectManager.withClustering
, если передать дробные значенияminZoom
иmaxZoom
. - Обновлен логотип 2GIS в копирайте на снапшотах карты.
- В
NavigationView
при отображении полного маршрута отображается только оставшаяся часть маршрута. - По умолчанию отключено кэширование тайлов
FreeRoam
при навигации для уменьшения запросов к бэкендам.
7.3.1 (2023-08-16)
🛠 Исправления
- Теперь при формировании запроса в справочник через
SearchQueryBuilder
для определения локали всегда берется первое значение из методаLocaleManager.locales
, если не удалось определить локаль по области поиска.
7.3.0 (2023-08-07)
🛠 Исправления
- Теперь при формировании запроса в справочник через
SearchQueryBuilder
для определения локали не используется текущая геопозиция пользователя, а берется первое значение из методаLocaleManager.locales
, если вSearchQueryBuilder
явно не задана область для поиска. - Исправлена ошибка, возникающая при обращении к полям
SimpleClusterObject
при формировании кластера в реализации методаSimpleClusterRenderer.renderCluster
.
7.2.1 (2023-07-31)
🌟 Новые возможности
- Добавлены два метода
SearchQueryBuilder.fromRubricIds
иSearchQueryBuilder.fromQueryTextAndRubricIds
для создания поисковых запросов с фильтрацией по идентификаторам рубрик. - Добавлено новое поле
DirectoryObject.tradeLicense
с информацией о лицензии организации.
7.1.0 (2023-07-20)
🛠 Исправления
- Поддержана работа справочника с новым форматом ключей.
- Исправлено получение snapshot карты методом
IMapSnapshotter.makeImage
при переходе приложения из состояния background в foreground. - Исправлен расчет оставшегося рабочего времени организации в
Directory.workStatus
при офлайн поиске. - Контрол
TUGC
в режимеFreeRoam
доступен только при добавленииRoadEventSource
на карту.
5.4.0 (2023-07-20)
🛠 Исправления
- Поддержана работа справочника с новым форматом ключей.
- Исправлено получение snapshot карты методом
IMapSnapshotter.makeImage
при переходе приложения из состояния background в foreground.
5.3.0 (2023-06-19)
🌟 Новые возможности
- Появилась возможность задавать исключаемые области при поиске маршрутов через
ExcludedArea
. - В
INavigationView
добавлено отображение названия организации назначения при Indoor навигации.
🛠 Исправления
- Исправлена ошибка при двойном тапе в карту и резком изменении масштаба.
- Исправлено потенциальное падение при добавлении маркера на карту с подписью через
Marker
. - В
INavigationView
исправлено скрывание контролов карты через 10 секунд в случае, если пользователь не взаимодействует с картой. - В
INavigationView
исправлена кнопка добавления TUGC на карту на панели ETA.
Миграция с версий 5.x на 7.х
Для всех типов Mobile SDK:
- Заново выгрузить стили.
- Методы
DgisSource.createOnlineDgisSource
иDgisSource.createOfflineDgisSource
удалены. Вместо них нужно использоватьDgisSource.createDgisSource
с дополнительным параметромDgisSourceWorkingMode
- режим работы карты. Сейчас доступно четыре режима работы:online
,offline
,hybridOnlineFirst
иhybridOfflineFirst
. FollowController
теперь возвращаетStyleZoom
, а неZoom
.FollowValue.zoom
переименован вFollowValue.styleZoom
.ZoomFollowController
переименован вStyleZoomFollowController
.ZoomToTiltRelation
переименован вStyleZoomToTiltRelation
.SpeedRangeToZoom
переименован вSpeedRangeToStyleZoom
.- Метод
Projection.screenToMap
теперь вместо исключения возвращает пустое значение, если точка находится за пределами карты. - Метод
BaseCamera.setPadding
удален. EnumCameraPositionPointChangeBehaviour
также удален. ПолеBaseCamera.padding
теперь является сеттером. - Методы
Camera.animatedMoveStarted
иCamera.animatedMoveFinished
удалены. Вместо них можно использовать каналCamera.stateChannel
. - Методы
SearchManager.createOnlineManager
,SearchManager.createOfflineManager
иSearchManager.createSmartManager
помечены какthrows
. - Сеттеры
BaseCamera.position
иBaseCamera.zoomRestrictions
удалены. МетодыBaseCamera.setPosition
,BaseCamera.setZoomRestrictions
иBaseCamera.setPositionPoint
помечены какthrows
. - Сеттер
Map.fontIconSizeMultiplier
удален. МетодMap.setFontIconSizeMultiplier
помечен какthrows
. - Конструктор
NavigationManager
и методыNavigationManager.start
иNavigationManager.startSimulation
помечены какthrows
. - Геттер
Container.context
помечен какthrows
. Так же помечены все остальные методы-фабрикиContainer
.
Дополнительно для полной версии:
- Изменены названия в
ZoomFollowSettings
, чтобы лучше соответствовать назначению. - Метод
Model.applyBetterRoute
удален. Вместо него появился методModel.betterRouteResponse
и enumBetterRouteResponse
для работы с альтернативными маршрутами. - Удалено значение
State.freeRoam
. Теперь для определения, что навигатор в режиме Free Roam, нужно смотреть на значениеRouteInfo.routeBuildOptions
- оно должно быть пустым.
7.0.0 (2023-06-16)
🌟 Новые возможности
- Добавлена возможность устанавливать Lottie-анимацию у маркера через
Marker.icon
. ВIImageFactory
добавлен метод для полученияImage
c Lottie-данными. - Добавлена UI-модель
IndoorControlModel
для реализации контрола этажных плановIndoorControl
. - В
SearchResult
добавлено полеdynamicFilters
- динамические фильтры, которые можно дополнительно применить для поисковой выдачи. - В
DirectoryFilter
добавлено полеdynamic
для передачи динамических фильтров. - Добавлен метод
BaseCamera.maxTiltRestriction
для задания и получения функции зависимости максимального угла наклона камеры от стилевого zoom-уровня. - Добавлена возможность создать
MapObjectManager
с генерализацией объектов черезMapObjectManager.withGeneralization
. - Добавлен метод
Projection.screenToMapClipped
, который возвращает ближайшую точку карты к проекции указанной точки экрана. - В режиме навигатора теперь отображаются альтернативные маршруты, которые могут быть предложены как маршрут лучше.
Model.betterRouteChannel
— канал для оповещений о появлении альтернативного маршрута.Model.betterRouteResponse
— метод для подтверждения альтернативного маршрута. Маршруты настраиваются с помощьюNavigationManager.alternativeRoutesProviderSettings
. - Добавлен метод
Voice.playWelcome
для воспроизведения образца голоса в навигаторе. - В
RoutePointKind
добавлено больше типов для идентификации точечных объектов на маршруте. - Появилась возможность задавать исключаемые области при поиске маршрутов через
ExcludedArea
. - В
INavigationView
добавлено отображение названия организации назначения при Indoor навигации.
❗ Ломающие изменения
- Методы
DgisSource.createOnlineDgisSource
иDgisSource.createOfflineDgisSource
удалены. Вместо них нужно использоватьDgisSource.createDgisSource
с дополнительным параметромDgisSourceWorkingMode
- режим работы карты. Сейчас доступно четыре режима работы:online
,offline
,hybridOnlineFirst
иhybridOfflineFirst
. FollowController
теперь возвращаетStyleZoom
, а неZoom
.FollowValue.zoom
переименован вFollowValue.styleZoom
.ZoomFollowController
переименован вStyleZoomFollowController
.ZoomToTiltRelation
переименован вStyleZoomToTiltRelation
.SpeedRangeToZoom
переименован вSpeedRangeToStyleZoom
.- Метод
Projection.screenToMap
теперь вместо исключения возвращает пустое значение, если точка находится за пределами карты. - Метод
BaseCamera.setPadding
удален. EnumCameraPositionPointChangeBehaviour
также удален. ПолеBaseCamera.padding
теперь является сеттером. - Методы
Camera.animatedMoveStarted
иCamera.animatedMoveFinished
удалены. Вместо них можно использовать каналCamera.stateChannel
. - Методы
SearchManager.createOnlineManager
,SearchManager.createOfflineManager
иSearchManager.createSmartManager
помечены, как throws. - Сеттеры
BaseCamera.position
иBaseCamera.zoomRestrictions
удалены. МетодыBaseCamera.setPosition
,BaseCamera.setZoomRestrictions
иBaseCamera.setPositionPoint
помечены, как throws. - Сеттер
Map.fontIconSizeMultiplier
удален. МетодMap.setFontIconSizeMultiplier
помечен, как throws. - Конструктор
NavigationManager
и методыNavigationManager.start
иNavigationManager.startSimulation
помечены, как throws. - Геттер
Container.context
помечен, как throws. Также помечены все остальные методы-фабрикиContainer
. - Изменены названия в
ZoomFollowSettings
, чтобы лучше соответствовать назначению. - Метод
Model.applyBetterRoute
удален. Вместо него появился методModel.betterRouteResponse
и enumBetterRouteResponse
для работы с альтернативными маршрутами. - Удалено значение
State.freeRoam
. Теперь для определения, что навигатор в режиме Free Roam, нужно смотреть на значениеRouteInfo.routeBuildOptions
- оно должно быть пустым.
🛠 Исправления
- Уменьшен размер Full сборки за счет уменьшения зависимости Offline справочника от других модулей.
- Исправлены утечки памяти при разрушении карты с активным перелётом.
- Оптимизировали использование одного источника данных
DgisSource
, добавленного в 2 и более объектовMap
. - Исправили работу канала
Map.dataLoadingStateChannel
, который теперь учитывает любую работу с картой (добавление объектов, изменение темы, добавление источников данных и т.д.). - В случаях, когда точка позиции камеры расположена ближе к нижнему краю экрана, значение максимального угла наклона камеры может быть уменьшено.
- Исправлена ошибка при двойном тапе в карту и резком изменении масштаба.
- Теперь маршрут не будет отображаться на карте в режиме навигации до появления позиции на нем.
- Исправлен возврат в режим слежения при работе навигатора по умолчанию.
- В
INavigationView
исправлено скрывание контролов карты через 10 секунд в случае, если пользователь не взаимодействует с картой. - В
INavigationView
исправлена кнопка добавления TUGC на карту на панели ETA.
🗺 Изменения в стилях карты
- Добавлена поддержка иконки
автобус + знак "Въезд запрещен"
в баблах полосности. - Установлены цвета для градиента линии неактивного маршрута.
5.2.2 (2023-04-26)
🛠 Исправления
- Исправили падение, когда в ключе указаны ограничения по регионам, у которых нет офлайн-данных.
5.2.1 (2023-03-27)
🛠 Исправления
- Исправлено потенциальное падение при вращении карты.
- Исправлено потенциальное падение при анимации появления маркеров с SVG изображением.
5.2.0 (2023-03-16)
🌟 Новые возможности
- В метод
DgisSource.setHighlighted
теперь можно передавать идентификаторы входов в здание для их выделения/снятия выделения.
🛠 Исправления
- Исправлено отображение маркеров с SVG изображением.
🗺 Изменения в стилях карты
- У слоёв
Parking lots with unknown price
,Parking for persons with disabilities
,Parking for residents
,Parking for taxi
,Free parking
иCovered parking
поменялся размер иконки. - В ночной теме в каталоге
POI icons
у слоёвAirport
,Railway station
,Bus terminal
иPort
поменялся цвет подписи. - Изменения для выделенного состояния:
- Цвета заливки и обводки: каталог
Flat buildings
. - Цвета заливки верхней плоскости, стены и обводки: каталог
Building 3D
. - Иконка: слои
Entrances, under buildings
,Entrances, over buildings
,Small gates
,Boom gates
,Parking lots with unknown price
,Parking for persons with disabilities
,Parking for residents
,Parking for taxi
,Free parking
,Covered parking
. - Иконка: каталоги
Sights
(кроме слояPark
в ночной теме),POI icons
(только в дневной теме),Transport landmarks
(только в дневной теме),Public transport stops icons
(кроме слоёвRailway station point
иStop point
). - Размер иконки: каталоги
Parking lots bubbles
(слоиPaid parking
,Parking lots with unknown price
,Parking for residents
,Parking for persons with disabilities
,Parking for taxi
,Free parking
),POI icons
(только в ночной теме),Transport landmarks
(только в ночной теме), слойPark
каталогаSights
(только в ночной теме). - Иконка и цвет подписи: каталог
Metro stations icons
(кроме слоёвMCD 1
,MCD 2
),Metro exits icons
(кроме слоёвMCD 1
,MCD 2
). - Размер иконки и цвет подписи: каталог
Metro stations icons
(слоиMCD 1
,MCD 2
),Metro exits icons
(слоиMCD 1
,MCD 2
). - Цвет заливки и ширина линии: каталог
Roads
в дневной теме (кромеWalkways
,Intercity, background
,Federal, background
). - Цвет заливки: каталог
Roads
в ночной теме, каталогRoads
в дневной теме (слойWalkways
).
- Цвета заливки и обводки: каталог
- Добавился слой
Entrances, arrows
только с выделенным состоянием.
5.1.2 (2023-02-15)
🛠 Исправления
- Исправлено падение при уничтожении объекта
Context
. - Исправлено падение, когда не удалось закэшировать тайлы карты.
5.1.0 (2023-01-11)
🌟 Новые возможности
- В метод
calcPosition
добавлен параметрsize
- размер карты.
🛠 Исправления
- Исправлена ошибка, при которой настройка
HTTPOptions.timeout
никак не влияла на таймаут запросов черезOnlineSearchManager
/SmartSearchManager
. - Удалено появление
OpenStreetMap
в копирайте. - Исправлено падение при навигации в случае, если голосовой инструкции нет в пакете данных.
- Исправлено определение локали при формировании запросов через
OnlineSearchManager
.
5.0.2 (2022-12-26)
🛠 Исправления
- Исправлена проблема, когда после удаления
MapView
не удалялся объектMap
. - Исправлено отображение панели ETA в
NavigationView
при переходе вIndoor
режим.
5.0.1 (2022-12-08)
🛠 Исправления
- Исправлена проблема, при которой после завершения навигации оставался периодический перелет к текущему местоположению, если камера находилась в состоянии покоя.
5.0.0 (2022-12-06)
🌟 Новые возможности
- Отказались от использования OpenGL в качестве графического API в пользу Apple Metal по причине нестабильной работы OpenGL на устройствах с процессорами M1 и новее.
- Добавлена пешая навигация в здании. Включается, когда маршрут построен с учетом этажей (с флагом
PedestrianRouteSearchOptions.useIndoor
) при входе в здание. UI навигатора меняется - отображается контрол переключения этажей с пометками, через какие этажи проходит маршрут, в нижней панели отображается номер этажа точки назначения. ВNavigationManager
добавленIndoorDetector
для определения нахождения пользователя в помещении в режиме навигации. - Добавлена возможность поиска и отображения пешеходных маршрутов в зданиях с этажными планами.
- При поиске должно быть включено
PedestrianRouteSearchOptions.useIndoor
(по умолчанию включено). - Маршрут в здании отображается пунктиром на активном этаже, а при включенном
RouteMapObjectDisplayFlag.inactiveFloors
- на всех этажах. - На переходах между этажами отображаются иконки с инструкциями, их видимостью управляет
RouteMapObjectDisplayFlag.indoorInstructions
. - Получить информацию об этажах, через которые проходит маршрут, можно с помощью
Route.levels
.
- При поиске должно быть включено
- Добавлен класс
BaseCamera
для хранения основных настроек камеры. КлассCamera
является наследникомBaseCamera
. ВBaseCamera
также добавлен методclone
для копирования камеры. - Добавлены перегрузки для методов
zoomOutToFit
иcalcPosition
, принимающие вместо геометрий массив объектов картыSimpleMapObject
. - Добавлен метод быстрого получения базовой информации о маршрутах (время в пути, длина и др.) без их построения -
TrafficRouter.findBriefRouteInfos
. - Добавлен поиск проезда на самокатах. Для этого необходимо задать
ScooterRouteSearchOptions
вTrafficRouter.findRoute
. - Добавлена информация об уровне высот на маршруте -
Route.altitudes
. - Добавлена информация о запретах перемещения по маршруту -
Route.truckRestrictedAreas
,Route.vehicleRestrictedAreas
. - Добавлена возможность "съедать" маршрут с любого конца -
RouteMapObject.passedDistanceVisualization
. - Добавлен метод для одновременного задания нескольких отображаемых маршрутов
RouteMapObject.replaceAllObjects
. - Добавлены настройки отображения баблов на маршруте
RouteMapObject.calloutLabelFlags
,RouteMapObject.calloutLabelDisplayMode
. - Появилась возможность не скрывать некоторые элементы маршрута по мере его "съедания" -
RouteMapObject.permanentDisplayFlags
. - Добавлен класс для управления слежением карты за маркером геопозиции в навигаторе -
NavigationFollowController
. - Добавлена возможность получить бабл маршрута через
Map.getRenderedObject
, возвращаемый объект имеет типRouteInfoCalloutMapObject
. - Улучшена работа
SmartSearchManager
- теперь при любых исключениях вOnlineSearchManager
происходит переключение наOfflineSearchManager
. - В
MapGestureViewOptions
появился параметрpinchScalingCenter
для задания точки на экране, относительно которой происходит масштабирование карты при жесте изменения масштаба. - Появилась возможность задавать идентификатор для запросов в WebAPI для On-Premise ключей.
- Обновлен логотип 2GIS в копирайте на карте.
- В
NavigationViewOptions
появился флагroadEventCreationEnabled
для отключения контрола дорожных событий. - Поддержка PPI всех моделей iPhone 14 и iPad.
- В
DGis.Container
добавлено свойствоlocationService
- реализация протоколаILocationService
для получения последнего известного местоположения пользователя. - Реализованы методы
IMapView.addObjectTappedCallback
,IMapView.addObjectLongPressCallback
,IMapView.removeObjectTappedCallback
,IMapView.removeLongPressCallback
для добавления и удаленияMapObjectTappedCallback
- обработчиков тапа и долгого нажатия на карту. - В
INavigationViewFactory
добавлен методmakeNavigationView
с дополнительными параметрамиINavigationViewControlsFactory
иINavigationMapControlsFactory
для переопределения контролов навигатора и контролов карты в навигаторе. Все контролы теперь публичные. - В
INavigationViewFactory
добавлены методыmakeNavigationViewControlsFactory
иmakeNavigationMapControlsFactory
для получения фабрик контролов навигатора и контролов карты в навигаторе, соответственно.
❗ Ломающие изменения
- Изменена сигнатура методов
zoomOutToFit
иcalcPosition
.zoomOutToFit
теперь принимает только камеру и геометрию. ВcalcPosition
теперь помимо камеры и геометрии можно передать активную область, угол наклона и поворота карты, поэтому теперь необязательно предварительно настраивать камеру для расчета позиции. - Удален
RoutePosition
- избыточный класс, вместо него используетсяRoutePoint
. - Удалено
Model.cameraProgressChannel
, вместо него необходимо использовать классCameraNotifier
. Traffic.durations
теперь имеет типMillisecondsRouteAttribute
вместоSecondsRouteLongAttribute
и большую точность значений.Route.obstacles
теперь имеет типObstacleInfoRouteAttribute
и помимо типа препятствия содержит дополнительную информацию.- Конструктор
ZoomFollowController
теперь принимает параметромMap
. - В
MapView
были удалены методыosmCopyrightAnimationDuration
иshowOSMCopyright
.
🛠 Исправления
- Увеличена точность отображения оставшегося времени в пути в навигаторе.
- В случае пустого результата
OfflineSearchManager
не кидает исключение, а возвращает пустой список. - У
INavigationView
при старте навигатора изменили zoom-уровень камеры, приближенный к основному приложению 2ГИС. - В
INavigationView
исправлена работа контрола ограничения скорости - теперь нулевое ограничение не отображается. - После завершения навигации в
INavigationView
камера возвращается к исходным настройкам. - Более корректное вычисление точки расхождения между основным маршрутом и маршрутом лучше.
- Исправлена работа контрола компаса
CompassControl
. - Исправлено определение локали в поисковых запросах. Теперь регион определяется через область интереса или текущее местоположение пользователя.
- Добавлена проверка на добавление пользовательских маркеров с пустым изображением.
- Исправлена проблема, при которой маршрут лучше исчезал вместе с панелью выбора маршрута по истечению таймаута.
🗺 Изменения в стилях карты
- У пешего маршрута (группа Pedestrian route line) и объектов на маршруте (Point A, Point B, Route joints, Intermediate route points в группе Dynamic objects) добавлена логика отображения на этажах.
- Добавлены инструкции навигации в здании - группа Indoor instructions.
- Cлой "Point A" теперь не отображается в режиме навигации.
- Выключено отображение слоёв "Region border" и "Regions".
- Установлены цвета для градиента линии неактивного маршрута.
- Исправлен селектор для платных парковок.
- Слои "Intermediate route points", "Route joints", "Point A", "Point B" теперь сразу после слоя "Location precision radius".
Миграция с версий 4.x на 5.х
Для всех типов Mobile SDK:
- Изменена сигнатура методов
zoomOutToFit
иcalcPosition
.zoomOutToFit
теперь принимает только камеру и геометрию. ВcalcPosition
теперь помимо камеры и геометрии можно передать активную область, угол наклона и поворота карты, поэтому теперь необязательно предварительно настраивать камеру для расчета позиции. - Конструктор
ZoomFollowController
теперь принимает параметромMap
. - В
MapView
были удалены методыosmCopyrightAnimationDuration
иshowOSMCopyright
.
Дополнительно для полной версии:
- Удален
RoutePosition
- избыточный класс, вместо него используетсяRoutePoint
. - Удалено
Model.cameraProgressChannel
, вместо него необходимо использовать классCameraNotifier
. Traffic.durations
теперь имеет типMillisecondsRouteAttribute
вместоSecondsRouteLongAttribute
и большую точность значений.Route.obstacles
теперь имеет типObstacleInfoRouteAttribute
и помимо типа препятствия содержит дополнительную информацию.
v4.6.1
Release Date: 11.01.2023
🛠 Исправления
- Исправлено падение при навигации в случае, если голосовой инструкции нет в пакете данных.
v4.6.0
Release Date: 30.12.2022
🛠 Исправления
- Исправлена ошибка, при которой настройка
HTTPOptions.timeout
никак не влияла на таймаут запросов черезOnlineSearchManager
/SmartSearchManager
. - Удалено появление
OpenStreetMap
в копирайте.
v4.5.0
Release Date: 16.11.2022
🌟 Новые возможности
- Улучшена работа
SmartSearchManager
- теперь при любых исключениях вOnlineSearchManager
происходит переключение наOfflineSearchManager
. - В
MapGestureViewOptions
появился параметрpinchScalingCenter
для задания точки на экране, относительно которой происходит масштабирование карты при жесте изменения масштаба. - Появилась возможность задавать идентификатор для запросов в WebAPI для On-Premise ключей.
🛠 Исправления
- В случае пустого результата
OfflineSearchManager
не кидает исключение, а возвращает пустой список. - У
NavigationView
при старте навигатора изменили zoom-уровень камеры, приближенный к основному приложению 2ГИС.
v5.0.0-beta.4
Release Date: 08.11.2022
🌟 Новые возможности
- Поддержка PPI всех моделей iPad.
- Реализованы методы
IMapView.addObjectTappedCallback
,IMapView.addObjectLongPressCallback
,IMapView.removeObjectTappedCallback
,IMapView.removeLongPressCallback
для добавления и удаленияMapObjectTappedCallback
- обработчиков тапа и долгого нажатия на карту. - В
MapGestureViewOptions
появилась возможность черезpinchScalingCenter
задавать точку, относительно которой будет происходить изменение масштабов карты.
🛠 Исправления
- Более корректное вычисление точки расхождения между основным маршрутом и маршрутом лучше.
- Исправлена работа контрола компаса
CompassControl
. - Исправлено определение локали в поисковых запросах. Теперь регион определяется через область интереса или текущее местоположение пользователя.
v5.0.0-beta.3
Release Date: 31.10.2022
🌟 Новые возможности
- Поддержка PPI всех моделей iPhone 14.
- В
DGis.Container
добавлено свойствоlocationService
- реализация протоколаILocationService
для получения последнего известного местоположения пользователя.
🛠 Исправления
- Исправлена проблема, при которой маршрут лучше исчезал вместе с панелью выбора маршрута по истечению таймаута.
v4.4.1
Release Date: 31.10.2022
🌟 Новые возможности
- Поддержка PPI всех моделей iPhone 14.
🛠 Исправления
- Исправлена проблема, при которой маршрут лучше исчезал вместе с панелью выбора маршрута по истечению таймаута.
v2.8.3
Release Date: 31.10.2022
🌟 Новые возможности
- Поддержка PPI всех моделей iPhone 14.
v5.0.0-beta.2
Release Date: 13.10.2022
🌟 Новые возможности
- Обновлен логотип 2GIS в копирайте на карте.
- В
NavigationViewOptions
появился флагroadEventCreationEnabled
для отключения контрола дорожных событий.
🛠 Исправления
- В
INavigationView
исправлена работа контрола ограничения скорости - теперь нулевое ограничение не отображается.
v4.4.0
Release Date: 13.10.2022
🌟 Новые возможности
- Обновлен логотип 2GIS в копирайте на карте.
v2.8.2
Release Date: 13.10.2022
🌟 Новые возможности
- Обновлен логотип 2GIS в копирайте на карте.
v5.0.0-beta.1
Release Date: 29.09.2022
🌟 Новые возможности
- Отказались от использования OpenGL в качестве графического API в пользу Apple Metal по причине нестабильной работы OpenGL на устройствах с процессорами M1 и новее.
- Добавлена возможность поиска и отображения пешеходных маршрутов в зданиях с этажными планами.
- При поиске должно быть включено
PedestrianRouteSearchOptions.useIndoor
(по умолчанию включено). - Маршрут в здании отображается пунктиром на активном этаже, а при включенном
RouteMapObjectDisplayFlag.inactiveFloors
- на всех этажах. - На переходах между этажами отображаются иконки с инструкциями, их видимостью управляет
RouteMapObjectDisplayFlag.indoorInstructions
. - Получить информацию об этажах, через которые проходит маршрут, можно с помощью
Route.levels
.
- При поиске должно быть включено
- Добавлена пешая навигация в здании (возможность экспериментальная и будет дорабатываться). Включается, когда маршрут построен с учетом этажей (с флагом
PedestrianRouteSearchOptions.useIndoor
) при входе в здание. UI навигатора меняется - отображается контрол переключения этажей с пометками, через какие этажи проходит маршрут, в нижней панели отображается номер этажа точки назначения. - Добавлен метод быстрого получения базовой информации о маршрутах (время в пути, длина и др.) без их построения -
TrafficRouter.findBriefRouteInfos
. - Добавлен поиск проезда на самокатах. Для этого необходимо задать
ScooterRouteSearchOptions
вTrafficRouter.findRoute
. - Добавлена информация об уровне высот на маршруте -
Route.altitudes
. - Добавлена информация о запретах перемещения по маршруту -
Route.truckRestrictedAreas
,Route.vehicleRestrictedAreas
. - Добавлена возможность "съедать" маршрут с любого конца -
RouteMapObject.passedDistanceVisualization
. - Добавлен метод для одновременного задания нескольких отображаемых маршрутов
RouteMapObject.replaceAllObjects
. - Добавлены настройки отображения баблов на маршруте
RouteMapObject.calloutLabelFlags
,RouteMapObject.calloutLabelDisplayMode
. - Появилась возможность не скрывать некоторые элементы маршрута по мере его "съедания" -
RouteMapObject.permanentDisplayFlags
. - Добавлен класс для управления слежением карты за маркером геопозиции в навигаторе -
NavigationFollowController
. - Добавлена возможность получить бабл маршрута через
Map.getRenderedObject
, возвращаемый объект имеет типRouteInfoCalloutMapObject
.
🛠 Исправления
- Увеличена точность отображения оставшегося времени в пути в навигаторе.
❗️ Изменения, влияющие на обратную совместимость
- Удален
RoutePosition
- избыточный класс, вместо него используетсяRoutePoint
. - Удалено
Model.cameraProgressChannel
, вместо него необходимо использовать классCameraNotifier
. Traffic.durations
теперь имеет типMillisecondsRouteAttribute
вместоSecondsRouteLongAttribute
и большую точность значений.Route.obstacles
теперь имеет типObstacleInfoRouteAttribute
и помимо типа препятствия содержит дополнительную информацию.- Конструктор
ZoomFollowController
теперь принимает параметромMap
.
🗺 Изменения в стилях карты
- У пешего маршрута (группа Pedestrian route line) и объектов на маршруте (Point A, Point B, Route joints, Intermediate route points в группе Dynamic objects) добавлена логика отображения на этажах.
- Добавлены инструкции навигации в здании - группа Indoor instructions.
v4.3.0
Release Date: 26.08.2022
🌟 Новые возможности
- Возможность задать шрифт надписей маркеров, указав
TextStyle.fontName
- название шрифта из редактора стилей. - Новое значение enum-a
CameraState.followPosition
- камера находится в режиме слежения за позицией.
🛠 Исправления
- Оптимизирован офлайн поиск проезда - не грузим лишние данные регионов.
- Исправлены рывки камеры во время навигации при близкорасположенных манёврах.
- Исправлено "съедание" маршрута при повторном запуске навигации.
- Исправлено падение при удалении источника пробок.
- Исправлено отображение манёвров навигатора при левостороннем движении.
- Улучшена работа
MyLocationControl
- призумливание к геопозиции, переключение между тремя режимами слежения, отображение текущего режима. - Уменьшено количество сетевых запросов данных о пробках при быстром перемещении карты.
- Ошибки таймаута при скачивании пробочного балла не логируются как ошибка.
v4.2.0
Release Date: 04.08.2022
🛠 Исправления
- Исправлено исключение в
Map.visibleArea
. - Для локализации надписей на карте теперь используются все заданные в системе языки.
- Локализация надписей дорожных событий.
- Исправлено перестроение маршрута во время навигации.
- Изменено значение по умолчанию параметра
radius
вMap.getRenderedObjects
.
v4.1.0
Release Date: 15.07.2022
🛠 Исправления
- Исправлено мерцание пробок при масштабировании карты.
- Исправление отображения остановок и точек соединения на маршрутах.
- Исправлено обновление карты при изменении локали.
DirectoryObject.markerPosition.elevation
теперь может иметь ненулевое значение - высота над поверхностью.- Увеличен таймаут сетевых запросов поиска проезда (предыдущего не хватало для дальних маршрутов).
- Теперь в ключе не обязательно задавать
deactivation_time
, если не используются offline-возможности. - Исправлено падение при проверке пересечения геометрий методом
Geometry.intersects
. - Исправлены потенциальные падения при работе карты.
❗️ Изменения, влияющие на обратную совместимость
- Значение enum-а
RouteMapObjectDisplayFlag.tranportConnectionPoints
переименовано вtransportConnectionPoints
- исправлена опечатка.
Миграция с v2.x
Для всех типов Mobile SDK:
- Нужно обратиться в техническую поддержку 2ГИС для получения нового ключа для использования MobileSDK. Обязательно нужно указать
appId
приложения, для которого будет создан ключ. Полученный файл ключаdgissdk.key
нужно добавить либо в корень приложения, либо при инициализации MobileSDK передать объект структурыApiKeyOptions
с указанием пути до файла. - Структура
APIKeys
была удалена. Вместо нее вContainer.init
первым параметров нужно передавать объект структурыApiKeyOptions
, который содержит путь до файлаdgissdk.key
. Объект по умолчаниюApiKeyOptions.default
пытается получить файл из корня приложения. - Обновить стили.
- Переименован класс
DirectoryObjectId
вDgisObjectId
. - Удалены функции
serialize
,deserialize
дляCameraPosition
вместо них нужно использовать новый механизм сериализации -PackedMapState
. - Удалены методы
SearchQueryBuilder.setLocation
иSuggestQueryBuilder.setLocation
- значение автоматически берется из источника геопозиции. - Удален метод
PackedSearchQuery.location
. - Удалены
SearchResultMarkerObject
иSearchResultMarkerSource
для генерализации маркеров поисковой выдачи по причине отсутствия возможности динамически добавлять или удалять объекты. В качестве альтернативы пользователю предлагается самому реализовать генерализацию маркеров или воспользоваться кластеризацией. - При создании
MyLocationMapObjectSource
по умолчанию используетсяSmoothMyLocationController
вместоRawMyLocationController
.
Дополнительно для full версии:
- Удалены списки с информацией о маршруте в
RouteInfo
-cameras
,instructions
,laneSigns
и т. д. и индексы текущих элементов -Model.cameraIndexChannel
,Model.instructionIndexChannel
. Вместо этого информацию необходимо получать непосредственно из маршрута и текущей позиции, например, получение ближайшей камеры -Model.route.route.cameras.findNearForward(position)
. - Переименованы параметры поиска маршрута:
BicycleRouteSearchOptions.avoidUnderpasses
->avoidUnderpassesAndOverpasses
.CarRouteSearchOptions.avoidFerry
->avoidFerries
.TruckRouteSearchOptions actualWeight
,maxPermissibleWeight
->actualMass
,maxPermittedMass
.
- Значение enum-a
RoadType.road
разделено на подтипыRoadType.highway
,RoadType.federalRoad
и др. - Метод
VoiceSelector.setVoice
заменен на свойствоvoice
. - Удалены
Model.durationChannel
,Model.routeDurationChannel
, вместо них необходимо использоватьModel.dynamicRouteInfo.traffic.durations.calculateDuration(routePoint)
. - Изменен набор значений enum-a
RoadSurface
. - Удалены
Model.navigationActiveChannel
,NavigationManager.uiSettings
, вместо них для получения активности навигатора служит новый классActivityTracker
.
v2.8.1
Release Date: 13.07.2022
🛠 Исправления
- Исправлено падение при проверке пересечения геометрий методом
Geometry.intersects
. - Исправлены потенциальные падения при работе карты.
v4.0.0
Release Date: 17.06.2022
🌟 Новые возможности
- Гибридный режим работы.
- Добавлена возможность скачать данные для работы карты, справочника и поиска проезда, которые в дальнейшем будут использоваться при отсутствии Интернет-соединения. Для скачивания данных о территориях и получении информации о них служит
TerritoryManager
. - Чтобы карта работала в гибридном режиме, необходимо задать в
MapOptions.sources
гибридный источник -[.dgisHybridSource]
. - Гибридный поисковик по справочнику -
SearchManager.createSmartManager
(но есть так же отдельныеcreateOnlineManager
иcreateOfflineManager
). - Поиск проезда (
TrafficRouter
) всегда гибридный - использует online/offline данные в зависимости от их доступности. - С помощью
TerritoriesAlongRouteProvider
можно получить список территорий, через которые проходит маршрут.
- Добавлена возможность скачать данные для работы карты, справочника и поиска проезда, которые в дальнейшем будут использоваться при отсутствии Интернет-соединения. Для скачивания данных о территориях и получении информации о них служит
- Отображение этажных планов.
- Происходит автоматически при приближении карты к крупным зданиям (торговым центрам, аэропортам и т. д.).
- Для получения информации об этажных планах и их переключения служит
IndoorManager
. - Есть готовый UI контрол для управления этажами -
IndoorControl
. - Динамические объекты (
SimpleMapObject
) можно разместить на конкретном этажном плане с помощью параметраlevelId
.
- Отображения всплывающих подсказок с полосностью над маршрутом навигатора.
- По умолчанию
RouteMapObjectDisplayFlag.lanesBubbles
задан. - Позиции подсказок на маршруте можно получить с помощью
RouteMapObject.lanesCalloutPositions
.
- По умолчанию
- Информация о событиях и пробках на маршруте в навигаторе -
Model.dynamicRouteInfo
. Для настройки параметров её обновления служитNavigationManager.dynamicRouteInfoSettings
. - Настройка параметров отображения маршрута в навигаторе -
NavigationManager.routeMapSettings
. - Автоматический переход в режим Free Roam при сходе с маршрута.
- Добавлены настройки поиска маршрута лучше -
NavigationManager.betterRouteProviderSettings
. - Добавлены поля с границами зоны действия знака полосности -
RouteLaneSign.signStartPoint
,signPoint
,signEndPoint
. - Добавлена опция "избегать лестниц" на пешеходных маршрутах -
PedestrianRouteSearchOptions.avoidStairways
. - Изменена логика работы с ключами. Теперь при инициализации MobileSDK нужно передать путь до файла
dgissdk.key
, который содержит информацию о ключе. - Новый дизайн UI навигатора
NavigationView
вместе со всеми контролами. Теперь дизайн совпадает с новым навигатором приложения 2ГИС. - Помимо обновленного дизайна контролов в новом навигаторе:
- Появилась возможность задавать цветовые схемы всех контролов.
- Появилась возможность задавать функцию обратного вызова на кнопку завершения поездки. Если callback не задан, то кнопка не будет отображаться в нижней всплывающей панели.
- По умолчанию включено отображение баблов полосности.
- Для велосипедных маршрутов добавляются специфичные для них атрибуты, такие как:
Route.badRoads
- плохой ли участок дороги.ExtraInstructionInfo.bicycleCrossroad
- велосипедные инструкцииBicycleInstructionCrossroad
,BicycleInstructionCrossroadManeuver
,BicycleInstructionCrossroadManeuverDirection
,BicycleInstructionCrossroadLandmark
.
- По умолчанию включено кэширование
Free roam
тайлов в режиме движения по маршруту. Для настройки кэширования используютсяFreeRoamSettings.onRoutePrefetchLength
,FreeRoamSettings.onRoutePrefetchRadiusMeters
иFreeRoamSettings.cachePrefetchRadiusMeters
. - Добавлен флаг
TruckRouteSearchOptions.fallbackOnCar
, который позволяет искать автомобильный маршрут при невозможности найти грузовой маршрут. - Обработка кликов по входам в здания. Добавлено поле
DgisObjectId.entranceId
- идентификатор входа. Оно заполняется для входов, полученных черезMap.getRenderedObjects
. Поддержка входов в справочнике будет добавлена в следующих релизах. - Контрол навигатора "Градусник", отображающий пробки на маршруте -
ThermometerControlView
. - Обзор маршрута в навигаторе. Включается при выборе соответствующего действия на Dashboard или нажатии на "Градусник".
- Добавлены протоколы
IMarkerView
иIMarkerViewFactory
для создания UI View маркеров. Для добавления этих маркеров на карту нужно использовать протоколIMarkerViewOverlay
. - В баблах полосности появились указатели съездов.
- Добавлена информация о подъездах в
DirectoryObject
-EntranceInfo
. - Доработан
SearchManager.suggest
для отображения подъездов и квартир. - Доработаны
SearchManager.searchByDirectoryObjectId
иSearchManager.searchById
для поиска подъезда по идентификатору. - Добавлена возможность настраивать отображение активного и неактивного маршрутов через
RouteEditorSource.activeDisplayFlags
иRouteEditorSource.inactiveDisplayFlags
. - Добавлен флаг
RouteMapObjectDisplayFlag.bubbles
для управление видимостью баблов на маршрутах. - Добавлены приоритеты для сетевых запросов, чтобы загружались в первую очередь более приоритетные данные.
- Добавлен канал
Map.dataLoadingStateChannel
для отслеживания состояния загруженности карты.
🛠 Исправления
- Уменьшен размер map сборки Mobile SDK.
- Кэширование данных Free Roam. Настроить параметры кеширования можно с помощью
NavigationManager.freeRoamSettings
. - Исправлена проблема, при которой камера, озвученная при прохождении на маршруте один раз, больше не озвучивалась при повторном проезде через неё.
- Исправлен поиск в офлайн и гибридном режимах.
- Оптимизировано обновление пробок.
- Отключение отображения этажных планов в режиме навигации.
- Оптимизирована отправка статистики в режиме навигации.
- Исправлена ситуация, когда при отображении дорожных событий в логах появлялись ошибки
can’t load from network
. - Оптимизирована логика перезапроса маршрутов.
- Исправлена проблема, когда при завершении поездки построенный маршрут оставался на карте.
- Исправлен порядок отрисовки маршрутов.
🗺 Изменения в стилях карты
- Отображение этажных планов.
- Появились новые каталоги со слоями: "Площади этажей", "Площадники организаций", "Стены этажей", "Якоря организаций", "Достопримечательности этажей", "Подписи этажей".
- У всех слоёв в каталоге "3D дома", а также у слоя "3D модели" поменялось условие выбора данных.
- Требуется перевыгрузка стилей из редактора для того, чтобы появились подсказки полосности.
- Названия слоев переведены на английский язык.
- Слой "Driveways above houses" стал интерактивным - доступным для получения через
Map.getRenderedObjects
. - Удалены слои "Пробки обводка уровень [-3..3]".
- Изменена ширина линий у "Traffic jams, background", "Traffic jams fill color level [-3..3]".
- Добавились параметры стрелок в каталоке "Car route line" у слоев "Maneuver arrows, large scale, tracking mode", "Maneuver arrows, fine scale, tracking mode".
- В ночной теме поменялся цвет текста, цвет halo и размер halo в каталогах "Traffic alerts along the route" и "Traffic alerts along the route, tracking mode" у слоев "Small gates", "Stairs up", "End of pedestrian underpass", "Beginning of pedestrian underpass", "Stairs down", "Boom gate", "Speed hump".
- Изменения для нового навигатора: цвета/размеры пробок, маршрута, манёвров, новая модель стрелки.
- Поддержка размещения объектов
SimpleMapObject
на этажах.
v2.8.0
Release Date: 09.06.2022
🌟 Новые возможности
- Свойство
MapObjectManager.isVisible
- включение/выключение отображения всех объектов одновременно.
🛠 Исправления
- Статическое содержимое карты теперь загружается с большим приоритетом, чем динамическое.
- Исправлена потенциальная блокировка UI-потока на длительное время при работе с сетью.
v4.0.0-beta.2
Release Date: 25.05.2022
🌟 Новые возможности
- Свойство
MapObjectManager.isVisible
- включение/выключение отображения всех объектов одновременно. - Обработка кликов по входам в здания. Добавлено поле
DgisObjectId.entranceId
- идентификатор входа. Оно заполняется для входов, полученных черезMap.getRenderedObjects
. Поддержка входов в справочнике будет добавлена в следующих релизах. - Контрол навигатора "Градусник", отображающий пробки на маршруте -
ThermometerControlView
. - Обзор маршрута в навигаторе. Включается при выборе соответствующего действия на Dashboard или нажатии на "Градусник".
🛠 Исправления
- Исправлено отображение пробок во время слежения.
❗️ Изменения, влияющие на обратную совместимость
- Удалены
Model.durationChannel
,Model.routeDurationChannel
, вместо них необходимо использоватьModel.dynamicRouteInfo.traffic.durations.calculateDuration(routePoint)
. - Изменен набор значений enum-a
RoadSurface
. - Удалены
Model.navigationActiveChannel
,NavigationManager.uiSettings
, вместо них для получения активности навигатора служит новый классActivityTracker
.
🗺 Изменения в стилях карты
- Названия слоев переведены на английский язык.
- Слой "Driveways above houses" стал интерактивным - доступным для получения через
Map.getRenderedObjects
. - Удалены слои "Пробки обводка уровень [-3..3]".
- Изменена ширина линий у "Traffic jams, background", "Traffic jams fill color level [-3..3]".
- Добавились параметры стрелок в каталоке "Car route line" у слоев "Maneuver arrows, large scale, tracking mode", "Maneuver arrows, fine scale, tracking mode".
- В ночной теме поменялся цвет текста, цвет halo и размер halo в каталогах "Traffic alerts along the route" и "Traffic alerts along the route, tracking mode" у слоев "Small gates", "Stairs up", "End of pedestrian underpass", "Beginning of pedestrian underpass", "Stairs down", "Boom gate", "Speed hump".
v2.7.0
Release Date: 18.05.2022
🌟 Новые возможности
- Добавлена возможность задания слоя отрисовки
SimpleObject
при созданииMapObjectManager
. Добавлен параметр -layerId
- ID слоя нового типаДинамический объект
. Когда он задан, объекты размещаются на этом слое, что позволяет задать их порядок относительно других слоев. - Теперь учитывается ситуация, когда
DGis.Container
инициализируется не из главного потока.
🛠 Исправления
- Исправлены зависания карты при больших значениях zoom и угла наклона.
- Исправлена проблема, когда при загрузке карты в гибридном режиме на какое-то время все заполнял полигон воды.
- Исправлена проблема, когда на разных zoom изменялась толщина добавленного объекта
Polygon
. - Оптимизировано обновление пробок - теперь они кэшируются в зависимости от style zoom.
v4.0.0-beta.1
Release Date: 04.05.2022
🌟 Новые возможности
- Изменена логика работы с ключами. Теперь при инициализации MobileSDK нужно передать путь до файла
dgissdk.key
, который содержит информацию о ключе. - Новый дизайн UI навигатора
NavigationView
вместе со всеми контролами. Теперь дизайн совпадает с новым навигатором приложения 2ГИС. - Помимо обновленного дизайна контролов в новом навигаторе:
- Появилась возможность задавать цветовые схемы всех контролов.
- Появилась возможность задавать функцию обратного вызова на кнопку завершения поездки. Если callback не задан, то кнопка не будет отображаться в нижней всплывающей панели.
- По умолчанию включено отображение баблов полосности.
- Добавлена возможность задания слоя отрисовки
SimpleObject
при созданииMapObjectManager
. Добавлен параметр -layerId
- ID слоя нового типаДинамический объект
. Когда он задан, объекты размещаются на этом слое, что позволяет задать их порядок относительно других слоев. - В
MapOptions.sources
добавлена возможность задавать гибридный источник карты черезMapOptions.SourceDescriptor.dgisHybridSource
. - Для велосипедных маршрутов добавляются специфичные для них атрибуты, такие как:
Route.badRoads
- плохой ли участок дороги.ExtraInstructionInfo.bicycleCrossroad
- велосипедные инструкцииBicycleInstructionCrossroad
,BicycleInstructionCrossroadManeuver
,BicycleInstructionCrossroadManeuverDirection
,BicycleInstructionCrossroadLandmark
.
- По умолчанию включено кэширование
Free roam
тайлов в режиме движения по маршруту. Для настройки кэширования используютсяFreeRoamSettings.onRoutePrefetchLength
,FreeRoamSettings.onRoutePrefetchRadiusMeters
иFreeRoamSettings.cachePrefetchRadiusMeters
. - Добавлен флаг
TruckRouteSearchOptions.fallbackOnCar
, который позволяет искать автомобильный маршрут при невозможности найти грузовой маршрут. - Отправка нового поля passedDistance в событиях статистики навигатора.
- Поддержка iPhone SE 3 и iPad Air 5.
🛠 Исправления
- Ускорено добавление сложных полигонов на карту.
- Исправлена проблема, при которой камера, озвученная при прохождении на маршруте один раз, больше не озвучивалась при повторном проезде через неё.
- Исправлен поиск в офлайн и гибридном режимах.
- Оптимизировано обновление пробок.
- Отключение отображения этажных планов в режиме навигации.
- Оптимизирована отправка статистики в режиме навигации.
- Исправлена ситуация, когда при отображении дорожных событий в логах появлялись ошибки
can’t load from network
. - Оптимизирована логика перезапроса маршрутов.
- Исправлена проблема, когда при завершении поездки построенный маршрут оставался на карте.
❗️ Изменения, влияющие на обратную совместимость
- Структура
APIKeys
была удалена. Вместо нее вContainer.init
первым параметров нужно передавать объект структурыApiKeyOptions
, который содержит путь до файлаdgissdk.key
. Объект по умолчаниюApiKeyOptions.default
пытается получить файл из корня приложения. - Удалены методы
SearchQueryBuilder.setLocation
иSuggestQueryBuilder.setLocation
- значение автоматически берется из источника геопозиции. - Удален метод
PackedSearchQuery.location
. - Удалены
SearchResultMarkerObject
иSearchResultMarkerSource
для генерализации маркеров поисковой выдачи по причине отсутствия возможности динамически добавлять или удалять объекты. В качестве альтернативы пользователю предлагается самому реализовать генерализацию маркеров или воспользоваться кластеризацией. - При создании
MyLocationMapObjectSource
по умолчанию используетсяSmoothMyLocationController
вместоRawMyLocationController
.
🗺 Изменения в стилях карты
- Изменения для нового навигатора: цвета/размеры пробок, маршрута, манёвров, новая модель стрелки.
- Поддержка размещения объектов
SimpleMapObject
на этажах.
v2.6.0
Release Date: 19.04.2022
🌟 Новые возможности
- Отправка нового поля passedDistance в событиях статистики навигатора.
- Поддержка iPhone SE 3 и iPad Air 5.
🛠 Исправления
- Ускорено добавление сложных полигонов на карту.
- Исправлено обновление пробок на маршруте.
- Кэширование дорожных событий.
- Улучшен алгоритм обновления ETA на маршруте.
❗️ Изменения, влияющие на обратную совместимость
- Методы
SearchQueryBuilder.setLocation
иSuggestQueryBuilder.setLocation
помечены как устаревшие - значение автоматически берется из источника геопозиции.
v4.0.0-alpha.1
Release Date: 04.04.2022
🌟 Новые возможности
- Гибридный режим работы.
- Добавлена возможность скачать данные для работы карты, справочника и поиска проезда, которые в дальнейшем будут использоваться при отсутствии Интернет-соединения. Для скачивания данных о территориях и получении информации о них служит
TerritoryManager
. - Чтобы карта работала в гибридном режиме, необходимо задать в
MapOptions.sources
сразу оба источника - online и offline -[.dgisOnlineSource, .dgisOfflineSource]
. - Гибридный поисковик по справочнику -
SearchManager.createSmartManager
(но есть так же отдельныеcreateOnlineManager
иcreateOfflineManager
). - Поиск проезда (
TrafficRouter
) всегда гибридный - использует online/offline данные в зависимости от их доступности. - С помощью
TerritoriesAlongRouteProvider
можно получить список территорий, через которые проходит маршрут.
- Добавлена возможность скачать данные для работы карты, справочника и поиска проезда, которые в дальнейшем будут использоваться при отсутствии Интернет-соединения. Для скачивания данных о территориях и получении информации о них служит
- Отображение этажных планов.
- Происходит автоматически при приближении карты к крупным зданиям (торговым центрам, аэропортам и т. д.).
- Для получения информации об этажных планах и их переключения служит
IndoorManager
. - Есть готовый UI контрол для управления этажами -
IndoorControl
. - Динамические объекты (
SimpleMapObject
) можно разместить на конкретном этажном плане с помощью параметраlevelId
.
- Отображения всплывающих подсказок с полосностью над маршрутом навигатора.
- По умолчанию выключено. Включить можно, задав
RouteMapObjectDisplayFlag.lanesBubbles
вRouteMapObject.displayFlags
,RouteMapSettings.onRouteDisplayFlags
илиRouteMapSettings.freeRoamDisplayFlags
. - Позиции подсказок на маршруте можно получить с помощью
RouteMapObject.lanesCalloutPositions
.
- По умолчанию выключено. Включить можно, задав
- Информация о событиях и пробках на маршруте в навигаторе -
Model.dynamicRouteInfo
. Для настройки параметров её обновления служитNavigationManager.dynamicRouteInfoSettings
. - Настройка параметров отображения маршрута в навигаторе -
NavigationManager.routeMapSettings
. - Автоматический переход в режим Free Roam при сходе с маршрута.
- Добавлены настройки поиска маршрута лучше -
NavigationManager.betterRouteProviderSettings
. - Добавлены поля с границами зоны действия знака полосности -
RouteLaneSign.signStartPoint
,signPoint
,signEndPoint
. - Добавлена опция "избегать лестниц" на пешеходных маршрутах -
PedestrianRouteSearchOptions.avoidStairways
.
🛠 Исправления
- Исправлено обновление пробок на маршруте.
- Кэширование данных Free Roam. Настроить параметры кеширования можно с помощью
NavigationManager.freeRoamSettings
. - Кэширование дорожных событий.
❗️ Изменения, влияющие на обратную совместимость
Map-версия:
- Класс
DirectoryObjectId
переименован вDgisObjectId
. - Удалены функции
serialize
,deserialize
дляCameraPosition
вместо них нужно использовать новый механизм сериализации -PackedMapState
.
Full-версия:
- Удалены списки с информацией о маршруте в
RouteInfo
-cameras
,instructions
,laneSigns
и т. д. и индексы текущих элементов -Model.cameraIndexChannel
,Model.instructionIndexChannel
. Вместо этого информацию необходимо получать непосредственно из маршрута и текущей позиции, например, получение ближайшей камеры -Model.route.route.cameras.findNearForward(position)
. - Переименованы параметры поиска маршрута:
BicycleRouteSearchOptions.avoidUnderpasses
->avoidUnderpassesAndOverpasses
.CarRouteSearchOptions.avoidFerry
->avoidFerries
.TruckRouteSearchOptions actualWeight
,maxPermissibleWeight
->actualMass
,maxPermittedMass
.
- Значение enum-a
RoadType.road
разделено на подтипыRoadType.highway
,RoadType.federalRoad
и др. - Метод
VoiceSelector.setVoice
заменен на свойствоvoice
.
v2.5.0
Release Date: 23.03.2022
🌟 Новые возможности
- Событие в статистике об изменение настроек навигатора во время ведения.
- События в статистике навигатора о сходе с маршрута и возврате на него.
🛠 Исправления
- Исправлена работа
Map.getRenderedObjects
с прозрачными полигонами. - Исправлено обновление пробочных данных в UI-модели навигатора (
RouteInfo.trafficRoute.traffic
). - Исправлен порядок наложения стрелок манёвров в навигаторе.
- Велосипедные маршруты теперь проходят по тротуару, а не проезжей части.
- Обработка нулевого идентификатора в методах
SearchManager.searchById
,searchByDirectoryObjectId
.
🗺 Изменения в стилях карты
Список изменений
"Океан" Для дневной и ночной темы размер шрифта на [z2:9.15 .. z4:12.5] отступы лейблинга для текста в ночной теме изменены с 10.1 до 20, теперь как в дневной теме "Крупное море" Для дневной и ночной темы размер шрифта на [z3:9.15 .. z5:10.85] "Малое море и крупное озеро" Для дневной и ночной темы размер шрифта на [z3.5:9.5 .. z6:11.65] отступы лейблинга для текста в дневной теме изменены с 40.1 до 20, теперь как в ночной теме "Малое озеро" Для дневной и ночной темы размер шрифта изменён на 9.15 отступы лейблинга для текста в ночной теме изменены с 20 до 0, теперь как в дневной теме "Страны 2ГИС" Для дневной и ночной темы размер шрифта на [z2:10 .. z5:15] Для дневной и ночной темы отступы лейблинга изменены на 5 "Крупные страны" Для дневной и ночной темы размер шрифта на [z2:10 .. z5:15] "Средние страны" Для дневной и ночной темы размер шрифта на [z2:10 .. z4:12.5] Для дневной и ночной темы отступы лейблинга изменены на 10 "Малые страны" Для дневной и ночной темы размер шрифта изменён на 10.85 Для дневной и ночной темы отступы лейблинга изменены на 5 "Области" Для дневной и ночной темы размер шрифта на [z6:10.85 .. z9:16.65] "Средние города" Для дневной и ночной темы размер шрифта на [z6:10 .. z9:13.75] "Малые города" Для дневной и ночной темы размер шрифта на [z6:9.15 .. z9:12.9] Для ночной темы фильтр sublayer изменён на "City_small", теперь как в дневной теме Для ночной и дневной темы фильтр object_class изменён на "universe_city" "Региональные центры" Для дневной и ночной темы размер шрифта на [z4.5:9.15 .. z9:13.75] "Малые города 2ГИС" Для дневной и ночной темы размер шрифта на [z6:10 .. z9:13.75] "Крупные города" Для дневной и ночной темы размер шрифта на [z5:10 .. z9:15] Для дневной и ночной темы изменен размер иконки на 5.85 Для ночной темы изменены отступы лейблинга на 20 "Средние города 2ГИС" Для дневной и ночной темы размер шрифта на [z4:8.35 .. z9:15] Для дневной и ночной темы изменен размер иконки на 5.85 "Крупные города 2ГИС" Для дневной и ночной темы изменен размер иконки на 5.85 Для дневной и ночной темы изменён размер шрифта на [z3:8.35 .. z9:15] Для дневной и ночной темы изменены отступы лейблинга на 5 Для ночной темы изменены фильтры выборки: sublayer = City_2gis_big, objectClass = universe_city_2gis, universe_city_2gis_rc, теперь как в дневной теме "Малые столицы" Для дневной и ночной темы изменен размер иконки на 7.5 Для дневной и ночной темы изменен размер шрифта на [z6:11.65 .. z11:18.35] Для дневной темы изменены фильтры выборки, приведены в соответствие ночной теме Для дневной и ночной темы изменены отступы лейблинга на 4 "Столицы" Для ночной темы изменены фильтры выборки, приведены в соответствие дневной теме Для дневной и ночной темы изменены размеры шрифта на [z3:9.15 .. z11:18.35] Для дневной и ночной темы изменен размер иконки на 7.5 "Столицы 2ГИС" Для дневной и ночной темы диапазон изменены размеры шрифта на [z3:9.15 .. z11:18.35] Для дневной и ночной темы изменен размер иконки на 7.5 Для дневной и ночной темы отступы лейблинга изменены на 4 "Магистрали" Для ночной темы основание для логарифма интерполяции ширины изменено на 2, теперь как в дневной теме "Пешеходные дорожки" Для ночной темы изменена ширина на [z16.5:1.1 .. z19:3], также изменена интерполяция на линейную, теперь как в дневной теме Для ночной и дневной темы изменен фильтр по db_sublayer, добавлены "Pedestrian_road_park_footpath", "Pedestrian_road_park_path" и "Pedestrian_street" "Стрелки внутриквартальные" Для дневной темы изменён отступ от краев линии для размещения стрелок на 2, теперь как в ночной теме Для ночной темы изменён фильтр sublayer на Oneway_internal_road "Стрелки прочие" Для дневной темы изменён отступ от краев линии для размещения стрелок на 2, теперь как в ночной теме Для ночной темы фильтр sublayer приведён в соответствие дневной теме. "Стрелки магистралей" Для дневной темы отступ от краев линии для размещения стрелок изменен на 2, теперь как в ночной теме "Пробки подложка", "Пробки заливка уровень -3", "Пробки заливка уровень -2", "Пробки заливка уровень -1", "Пробки заливка уровень 0", "Пробки заливка уровень 1", "Пробки заливка уровень 2", "Пробки заливка уровень 3" Для ночной темы изменён тип анимации у сдвига линии, теперь линейная как в дневной теме. "Водный транспорт" Для ночной темы длина штриха изменена на [z14:2.3 .. z20:4.1], теперь как в дневной теме "Трамвай пунктир" Для ночной темы длина промежутка между штрихами изменена на [z15:8 .. z19:40.1], теперь как в дневной теме "Подъезды под домами" Для ночной темы размер иконки изменен на [z17:6 .. z18.5:11], теперь как в дневной теме "Подъезды над домами" Для ночной темы размер иконки изменен на [z17:6 .. z18.5:11], теперь как в дневной теме "Линия маршрута на метро подложка", "Линия маршрута на метро контур" В дневной теме из фильтров убран s_dvg_public_pedestrian_route_mobile "Смотровая площадка", "Памятник природы", "Водопад", "Вертолетная площадка", "Пляж", "Лыжная база", "Информация", "Сад", "Мост", "Лодочная станция", "Скейт-парк", "Спасатель", "Раздевалка", "Вода", "Каток", "Прокат зимнего инвентаря", "Деревья", "Аттракционы", "Руины", "Пейнтбол", "Сцена", "Танцпол", "Душевая кабина", "Ёлочный базар", "Вольер", "Усадьба", "Переезд", "Памятник", "Декоративное сооружение", "Беседка", "Буккроссинг", "Граффити", "Фонтан", "Место для выгула собак", "Тир", "Прокат инвентаря", "Детская площадка", "Картинг", "Туалет", "Спортивный инвентарь" Для дневной темы размер иконки изменен на [z14:12 .. z16:14], теперь как в ночной теме "Смотровая площадка", "Памятник природы", "Водопад", "Парк", "Пляж" Размеров шрифта изменён на 16 "Парк" Для ночной темы размер иконки изменен на [z14:18 .. z18:24], теперь как в дневной теме "Вода" (POI) В дневной теме в фильтры добавлен "springs" в objectClass "Тир" В ночной теме заменена иконка на "poi_shootingrange", теперь как в дневной теме "Спортивный инвентарь" Для ночной и дневной темы изменены отступы лейблинга на 5 Для дневной темы размер иконки изменен на [z14:12 .. z16:14], теперь как в ночной теме "Прочие подписи" Для ночной темы фильтр sublayer изменён на "Other_caption_point", теперь как в дневной теме Для ночной темы изменён минимальный зум на 15, теперь как в дневной теме "Прочие подписи вдоль линии" Для ночной и дневной темы изменён отступ от краев линии для размещения надписи на 5 Для ночной и дневной темы изменено расстояние между дубликатами надписи вдоль линии на 1000 Для ночной и дневной темы изменены дополнительные отступы лейблинга по краям на 5 Для ночной и дневной темы изменён размер шрифта, теперь [z15.5:10 .. z18:14] "Специальные подписи вдоль линии" Для дневной темы явно указан шрифт Noto_Sans, теперь как в ночной теме Для ночной и дневной темы изменён отступ от краев линии для размещения надписи на 0 Для ночной и дневной темы изменены дополнительные отступы лейблинга по краям на 8 Для ночной темы изменено расстояние между дубликатами надписи вдоль линии на 200, как в дневной теме "Подписи рек" Для ночной темы изменён отступ от краев линии для размещения надписи на 0, теперь как в дневной теме Для ночной и дневной темы textDuplicationSpacing изменен на [z12:500 .. z18:1000] "Номера домов" Для ночной темы изменён минимальный зум на 15.3, теперь как в дневной теме "Банкомат" Для ночной темы изменён фильтр для sublayer, теперь "Low_zoom_poi_navigator", как в дневной теме "Магазин одежды", "Красота", "Кофейня", "Картинг", "Фитнес-клуб", "Бар", "Часовня", "Авиаклуб", "Автосервис", "Обувной магазин" Для ночной темы изменён фильтр sublayer, теперь "Low_zoom_poi", как в дневной теме "Детский сад", "Билетная касса", "Теннисный клуб", "Бассейн", "Каток", "Почта", "Образование", "Библиотека", "Церковь", "Синагога", "Дацан", "Мечеть", "Медицинское учреждение", "Санаторий", "Гостиница" Для ночной темы изменён фильтр sublayer, теперь "Medium_zoom_poi", как в дневной теме "Торговый центр", "Администрация", "Аптека", "Полиция" Для ночной темы изменён фильтр sublayer, теперь "Medium_zoom_poi_navigator", как в дневной теме Для ночной и дневной темы размер иконки изменён на [z14:18 .. z18:24] "Театр", "Кинотеатр", "Гольфклуб", "Ипподром", "Стадион", "Бизнес-центр" Для ночной темы изменён фильтр sublayer, теперь "High_zoom_poi", как в дневной теме "ТРЦ", "Заправочная станция", "Зарядная станция" Для ночной темы изменён фильтр sublayer, теперь "High_zoom_poi_navigator", как в дневной теме "Аэропорт" В каталоге "Иконки POI" для ночной темы размер шрифтов изменен на [z14.5:10.1 .. z18:12], теперь как в дневной теме В каталоге "Транспортные достопримечательности" для ночной и дневной темы изменён минимальный зум на 7.5 "Ж/Д вокзал" В каталоге "Иконки POI" для ночной темы размер шрифтов изменен на [z14.5:10.1 .. z18:12], теперь как в дневной теме В каталоге "Транспортные достопримечательности" для дневной темы изменён на минимальный зум стал 7.5 "Автовокзал" В каталоге "Иконки POI" для ночной темы изменён фильтр object_class, теперь "bus_station", как в дневной теме В каталоге "Транспортные достопримечательности" для ночной и дневной темы изменён минимальный зум на 11 "Порт" В каталоге "Иконки POI" для ночной темы размер иконок изменен на [z14:18 .. z18:24], теперь как в дневной теме В каталоге "Транспортные достопримечательности" для ночной и дневной темы изменён минимальный зум на 11 "Ж/Д станции точка" Для дневной темы размер иконки изменен на 6, теперь как в ночной теме "Кресельный подъемник" Для ночной темы иконка заменена на "chairlift", теперь как в дневной теме "Бугельный подъемник" Для ночной темы иконка заменена на "bugel", теперь как в дневной теме "Тёмно-зелёная" из каталога "Иконки станций метро" Для ночной темы ширина иконки заменена на 12, теперь как в дневной теме "МЦД 1", "МЦД 2" из каталога "Иконки станций метро" Для ночной темы минимальный зум заменён на 12, теперь как в дневной теме "МЦД 1", "МЦД 2" из каталога "Иконки выходов метро" Для дневной темы ширина иконки из метро заменена на 22, теперь как в ночной теме "Бирюзовая", "Голубая", "Жёлтая", "Зелёная", "Коричневая", "Красная", "Оранжевая", "Серая", "Синяя", "Тёмно-зелёная", "Фиолетовая", "Серо-голубая", "МЦК", "Розовая" из каталога "Иконки выходов метро" Для дневной темы ширина иконки заменена на 15, теперь как в ночной теме "Салатовая" из каталога "Иконки выходов метро" Для ночной и дневной темы ширина иконки заменена на 15 "Подписи городов с точками" Для ночной и дневной темы размер шрифтов заменён на [z6:11.5 .. z15:20] Для ночной и дневной темы отступы лейблинга заменены на 16 "Подпись главного города" Для ночной темы размер шрифта изменён на [z0:10.1 .. z11:22 .. z11.9:22 .. z12:24], теперь как в дневной теме для ночной темы изменены отступы лейблинга на 30, теперь как в дневной теме. "Камера неизвестного назначения", "Камера контроля скорости" и другие в каталогах "Транспортные события на маршруте" и "Транспортные события на маршруте в режиме ведения" Для ночной темы изменены приоритет текста и приоритет иконок для лейблинга на 160, теперь как в дневной теме "Камера неизвестного назначения" В каталоге "Транспортные события на маршруте" для дневной темы изменены приоритеты текста и иконок для лейблинга на 160 "Камера контроля скорости_80" В каталоге "Транспортные события на маршруте" для дневной темы фильтр sublayer изменён на "s_dvg_route_camera_80", теперь как в ночной теме "Камера контроля скорости" из каталога "Транспортные события на маршруте в режиме ведения" Для ночной темы размер иконки заменен на 28, теперь как в дневной теме Для ночной темы в фильтре условие для navigatorOn теперь как в дневной теме "Камера контроля скорости_100" В каталоге "Транспортные события на маршруте в режиме ведения" для дневной темы изменена точка привязки иконки на [0.4, 1], теперь как в ночной теме Изменён порядок отрисовок пробок, теперь они рисуются перед домами. В ночной теме слои (их два) "Линия активного подземного пешего маршрута копия" переименованы в "Линия активного подземного пешего маршрута" В ночной теме слой "Линия активного пешего маршрута копия" переименован в "Линия активного пешего маршрута" В ночной теме слой "Прочие подписи линия" переименован в "Прочие подписи вдоль линии" В ночной теме слой "Специальные подписи линия" переименован в "Специальные подписи вдоль линии" В ночной теме слой "Промышленная территорияя" переименован в "Промышленная территория" В ночной теме слой "Начало и конец платных дорог копия" переименован в "Начало и конец платных дорог" Добавлен слой "Автостанция" в дневной и ночной теме. У слоёв "Обувной магазин" и "Кинотеатр" в дневной теме изменился фильтр выборки данных У слоя "Камера контроля скорости" в каталоге “Транспортные события на маршруте” в дневной теме приоритет иконки изменён на 160 У слоя "Камера неизвестного назначения" в каталоге "Транспортные события на маршруте в режиме ведения" в дневной теме приоритет иконки изменён на 160 У слоя "Граффити" в ночной теме изменился размер иконки на z14:12 .. z16:14 У всех слоёв в каталоге "Иконки POI" в ночной теме теперь размер иконки z14:18 .. z18:24 У слоёв "Аэропорт", "Ж/Д вокзал", "Автовокзал", "Порт" в каталоге "Иконки POI" в ночной теме теперь цвет обводки rgba(255,255,255,0.5) Слои "Линия неактивного маршрута на авто" и "Линия неактивного маршрута на авто подложка" выделены в отдельный каталог "Линия неактивного маршрута на авто". У слоя "Камера контроля скорости" в каталоге "Транспортные события на маршруте в режиме ведения" приоритет иконки изменён на 160. Максимальный масштаб в редакторе — это строгая граница. Поскольку в Mobile SDK можно выставить z 20, и на некоторых широтах ему соответствует и style z 20, то объекты с проставленным максимальным масштабом 20 могут в такой ситуации скрыться. В связи с этим в редакторе теперь можно выставить максимальный масштаб больше 20, в шаблонах стилей для Mobile SDK во всех таких слоях проставлен максимальный масштаб 21. В ночной теме у всех слоёв в каталоге "Иконки POI" цвет обводки изменён на rgba(0,0,0,0.19).
v2.4.2
Release Date: 16.03.2022
🛠 Исправления
- Отключен
accessibility
в контроле копирайта.
v2.4.1
Release Date: 11.03.2022
🛠 Исправления
- Исправлено обновление пробок вдоль маршрута.
- Поправлена ошибка при отправке статистики поиска проезда.
v2.4.0
Release Date: 04.03.2022
🌟 Новые возможности
- Добавлены предупреждения и ошибки в лог в случае, если заканчивается или закончился срок поддержки конкретной версии MobileSDK.
- Поддержан фильтр
CarRouteSearchOptions.avoidFerry
на запрет паромных переправ. - У обработчиков жестов
IMapGestureInputController.didDoubleTap
иIMapGestureInputController.didTwoFingerTap
появилась возможность задавать позицию работы жестов. - При отправке статистики обрабатываются события:
- завершения запроса альтернативных маршрутов;
- изменения индекса следующей промежуточной точки маршрута;
- обновления динамической информации о маршруте.
🛠 Исправления
- Исправлена ошибка, при которой на маршрутах на общественном транспорте при отсутствии информации о вагонах было невалидное описание посадки в вагон.
- Теперь при вызове
Camera.setPadding
иCamera.setPositionPoint
с параметромCameraPositionPointChangeBehaviour.keepCamera
сбрасывается слежение за позицией. - Исправлена проблема отрисовки некоторых регионов.
- Исправлена ошибка при отправке статистики, связанная с генерацией события после достижения конечной точки.
- В
NavigationView
исправлена проблема, при которой второй и последующие маршруты строятся не до указанной точки. - Теперь если отправили запрос на поиск нового маршрута, но до его получения вернулись на текущий маршрут, то отправляются запросы на маршрут лучше.
❗️ Изменения, влияющие на обратную совместимость
- Теперь метод
TrafficRouter.findRoute
не кидает исключение, если маршруты не найдены, а возвращает пустой список.
v2.3.3
Release Date: 25.02.2022
🌟 Новые возможности
- Добавлено логирование сетевых запросов при уровне логов info и verbose.
🛠 Исправления
- Исправлена отправка статистики с поколением мобильной сети. Раньше отправлялись невалидные нулевые значения.
v1.6.18
Release Date: 25.02.2022
🌟 Новые возможности
- Добавлено логирование сетевых запросов при уровне логов info и verbose.
🛠 Исправления
- Исправлена отправка статистики с поколением мобильной сети. Раньше отправлялись невалидные нулевые значения.
v2.3.2
Release Date: 21.02.2022
🛠 Исправления
- Исправлена отправка статистики о старте навигации.
v2.3.0
Release Date: 10.02.2022
🌟 Новые возможности
- Плавный перелет при активации слежения за геопозицией -
CameraBehaviour.transitionType
(по умолчаниюTransitionType.SMOOTH
- включено). - Возможность задания настроек, недоступных через API (например, URL-ов web-сервисов) - параметр
vendorConfig
в конструктореContainer
- json-файл с настройками. Набор настроек на данный момент не документирован. - Автоматическое переключение на маршрут лучше, если пользователь продолжил движение по нему.
- Отправка статистики о работе поиска проезда и навигации.
- Текстовое описание вагонов, рекомендуемых для посадки -
PublicTransportInfo.boardingSuggest
. Например, "садитесь в первый вагон". - Отображение вагонов, рекомендуемых для посадки, в карточке маршрута (
PublicTransportCard
). - Информация о расписании действия дорожного события -
RoadEvent.schedule
. - Отображения расписания дорожного события в карточке события (
RoadEventCard
). - Вспомогательные методы
GeoPoint.isValid
,GeoRect.isValid
,GeoRect.contains
,GeoRect.intersects
,GeoRect.expand
. - Получение ограничивающего прямоугольника геометрии -
Geometry.bounds
,GeometryMapObject.bounds
,SimpleMapObject.bounds
. - Возможность получить текущий голос навигатора -
VoiceSelector.voice
.
🛠 Исправления
- Использование системного HTTP-клиента вместо CURL.
- Возможность задать собственную реализацию HTTP-клиента -
IHTTPClient
. - Оптимизация отображения пробок на карте.
- Оптимизация добавления маршрута на карту.
- Исправлено определение маршрута лучше после схода с маршрута и возврата обратно.
- Убрано ошибочное оповещение о плохом сигнале GPS при старте симуляции навигации (
NavigationManager.startSimulation
).
v1.6.16
Release Date: 26.01.2022
🌟 Новые возможности
- Вся работа с сетевыми запросами переведена с
libcurl
на системный сетевой клиент.
🛠 Исправления
- Добавлено логирование позиции камеры в случае, если в методы
Camera.move
,Camera.position
иMapOptions.position
передать некорректное значение позиции.
v1.6.14
Release Date: 10.01.2022
🛠 Исправления
- Исправили проблему, когда не загружались тайлы при включённом AdGuard VPN.
- Убрали запись ошибок в логи, когда объект карты разрушается сразу после создания.
- Исправили падения в сетевом кэше.
- Добавили логирование запроса при ошибках работы с сетью.
- Убрали ошибки в логах при обработке тайлов карты.
- Исправлены редкие падения при создании карты в разных потоках.
- Исправлены ошибки в логах при добавлении маркера на карту.
v2.2.0
Release Date: 29.12.2021
🌟 Новые возможности
- Сохранение и восстановление маршрута и состояния навигатора -
PackedNavigationState
,TrafficRoute.fromNavigationState
. - Добавлено свойство
PublicTransportTransfer.startPointName
- название точки начала участка маршрута. - Отображение номеров и цвета линий метро в карточке общественного транспорта (
PublicTransportCard
).
🛠 Исправления
- Исправлено падение при изменении настроек масштабирование карты в навигаторе (
NavigationManager.zoomFollowSettings
). - Исправлена работа
PublicTransportInfo.color
для типов транспорта отличных от метро. - Период обновления данных о пробках ограничен снизу 30-ю секундами.
❗️ Изменения, влияющие на обратную совместимость
- Свойство
PublicTransportTransfer.waypointName
переименовано вfinishPointName
.
🗺 Изменения в стилях карты
-
Изменения для поиска проезда на общественном транспорте.
- В каталоге "Линия пешего маршрута" добавлены слои "Линия неактивного подземного пешего маршрута" (два слоя с одинаковым названием), "Линия неактивного пешего маршрута", "Линия активного подземного пешего маршрута" (два слоя), "Линия активного пешего маршрута", удалены слои "Линия подземного пешего маршрута" (два слоя) и "Линия пешего маршрута".
- В каталоге "Линия пешего маршрута в ведении" добавлены слои "Линия неактивного подземного пешего маршрута", "Линия неактивного пешего маршрута", "Линия активного подземного пешего маршрута", "Линия активного пешего маршрута", удалены слои "Линия подземного пешего маршрута", "Линия пешего маршрута".
- Слой "Стрелки манёвров мелкий масштаб в режиме ведения копия" переименован в "Стрелки манёвров мелкий масштаб в режиме ведения".
- Добавлен каталог со слоями "Линия маршрута на общественном транспорте".
-
Чтобы модели и здания не закрывали маршруты, каталоги "Пробки", "Линия пешего маршрута", "Линия пешего маршрута в ведении", "Линия маршрута на авто" перемещены выше. Теперь они находятся над слоем "3D модели".
-
Поправлено отображение стрелок — у слоёв "Стрелки прочие", "Стрелки магистралей" изменено условие выбора объектов (выберите JSON, чтобы посмотреть текущее условие и сравнить с условием в ваших стилях).
-
Для слоя "Остановка высадки Желтой ветки метро в активном состоянии" отключен лейбелинг (в шаблонах через добавление новой группы лейбелинга, но проще включить галочку "Оставить видимым при наложении на другие объекты").
-
У слоя "Генерализованный маркер" добавилась группа лейбелинга изображения "search_marker_icon", чтобы он не скрывался другими объектами.
-
Изменены несоответствия дневной и ночной тем.
- В дневной теме:
- Убран шрифт у слоёв "Смотровая площадка", "Памятник природы", "Водопад", "Парк", "Пляж".
- У слоёв "Детская площадка", "Спортивный инвентарь" minzoom изменён с 18 на 17.
- У слоёв "Сад", "Лыжная база" minzoom изменён с 12 на 14.
- У слоя "Трамвай пунктир" minzoom изменён с 16.5 на 15.5, чтобы соответствовало слою "Трамвай".
- У слоя "Камера контроля скорости_100" отображение текста изменено с 17 на 16 zoom.
- В ночной теме:
- У слоя "Ж/Д линия" maxzoom изменён с 13.5 до 13, чтобы стыковалось с "Ж/Д пунктир".
- У слоёв "Лестницы", "Зебры" minzoom изменён с 16.5 на 16.
- У всех слоёв каталога "Плоские дома" maxzoom изменён с 20 на 16, чтобы не отображались одновременно с трёхмерными домами.
- У слоёв "Сады" и "Школы" в каталоге "Плоские дома" minzoom изменён с 15 на 14.
- У слоя "Территория парковки" minzoom изменён с 17.5 на 17.
- У слоя "Крупные города 2ГИС" minzoom изменён с 4 на 3.
- У слоя "Средние города 2ГИС" minzoom изменён с 6 на 4.
- У слоя "Малые города" minzoom изменён с 7 на 6.
- У слоёв "Крупные страны" и "Страны 2ГИС" maxzoom изменён с 8 на 6.
- Значение zoom'а в interpolate ширины линии слоя "Стрелки манёвров мелкий масштаб в режиме ведения" изменён с 19 на 20.
- Добавлены группы лейбелинга search_marker_icon и search_marker_text, и эти группы указаны в слое "Поисковой маркер".
- В слое "Поисковой маркер выделение" указаны группы лейбелинга "selection_marker" и "selection_marker_text".
- Некоторые несоответствия тем возникли из-за использования диапазона из данных. Чтобы такого не случилось в будущем, все масштабы в шаблонах теперь заданы явно.
- В дневной теме:
v2.1.0
Release Date: 24.12.2021
🌟 Новые возможности
- Добавлены перешеходные и велосипедные маршруты, а также маршруты на общественном траспорте.
- Добавлена возможность отключения инструкций о завершении маршрута и о потере сигнала GPS.
- В структуре
Location
появились 2 поля - название источника геопозицииsource
и временная точка, в которой была определена геопозиция,timestamp
. - Класс
PackedMapState
для сериализации и десериализации состояния карты. Старые методыserialize(cameraPosition:)
иdeserialize(positionString:)
помечены, как deprecated. - Класс
PackedSearchQuery
для сериализации и десериализации поискового запроса. - Добавлен метод
mapToScreen(geoPointWithElevation:)
в структуруProjection
. - Реализован контрол отображения маршрутов на общественном транспорте.
- Реализована отправка статистики для навигатора.
🛠 Исправления
- Исправлена ошибка, когда при переходе из режима
FreeRoam
в режим навигации проигрывалась инструкция о перестроении маршрута. - Исправлено пропадание промежуточных точек при перестроении маршрута.
- Добавлен таймер в 30 секунд на озвучивание инструкции о перестроении маршрута.
- Исправлена работа с дорожными событиями для анонимных пользователей.
- Убрано отображение контрола скорости для пешеходного и велосипедного маршрутов.
- Убрано оповещение о плохом сигнале GPS при старте симуляции навигации.
- Исправлена проблема появления черного экрана при инициализации карты до подгрузки цвета фона из стилей. Для задания начального цвета фона было добавлено поле
MapOptions.backgroundColor
. - Исправлена ошибка, при которой не загружались тайлы карты при включенном AdGuard VPN.
- Оптимизировано отображение пробок на карте.
v1.6.12
Release Date: 08.12.2021
🛠 Исправления
- Исправили падения, связанные с системным сигналом SIGABRT.
v2.0.0
Release Date: 02.12.2021
🌟 Новые возможности
- В результат поиска
SearchResult
добавлено полеSearchResultType
- информация о типе результата. - В
SearchQueryBuilder
появилась возможность задавать фильтрацию черезSearchQueryBuilder.setDirectoryFilter(directoryFilter:)
и сортировку черезSearchQueryBuilder.setSortingType(sortingType:)
. На данный момент реализованы фильтрация по времени открытия (открыто сейчас
иоткрыто на конкретное время
) и сортировки по релевантности, по рейтингу и по расстоянию от текущего местоположения пользователя. - В
SearchQueryBuilder
появилась возможность задавать текущее положение пользователя для поискового запроса черезSearchQueryBuilder.setLocation(locationPoint:)
. - У классов
GeoPoint
иGeoPointWithElevation
добавлены методыbearing(point:)
,distance(point:)
иmove(bearing:, meter:)
.
🛠 Исправления
- Исправлено отображение камер на маршруте. Теперь камеры, которые ближе к началу маршрута, всегда отображаются приоритетнее, чем камеры, которые дальше.
- Убрали уведомление о том, что необходимо предоставить разрешение на поиск устройств в локальной сети и подключение к ним. Данное уведомление появлялось при первой установке приложения с нашим MobileSDK и последующей инициализации карты.
- Исправлено падение при работе
MyLocationController
. - Исправлена ошибка, при которой камеры в режиме
free roam
иногда отображались без учета просчета на 2 км вперед по направлению движения.
❗️ Изменения, влияющие на обратную совместимость
- Изменена сигнатура методов
NavigationManager.start
иNavigationManager.startSimulation
. Теперь они вместе с маршрутом принимаютRouteBuildOptions
. - Метод
Geometry.hasIntersection
переименован вGeometry.intersects
. - В
ParkingPurpose
удалено состояниеtruck
. Вместо этого был добавлен флагParkingInfo.forTruck
. - Функция
toMapGeometry(route: TrafficRoute)
заменена на функциюtoMapGeometry(geometry: GeoPointRouteAttribute)
. - Удалено поле
BetterRouteInfo.duration
. Вместо него добавленыBetterRouteInfo.trafficRoute
иBetterRouteInfo.startPoint
. - Добавлены классы
Route
иTraffic
. УTrafficRoute
вместо прошлого набора свойств теперь лишьroute
иtraffic
, через которые можно получить полную информацию о маршруте. - Удалены
BicycleRouteSearchOptions
иPedestrianRouteSearchOptions
- перенесены на будущие релизы. RouteParams
переименован вRouteEditorRouteParams
.
Миграция с v1.x
- Вместо
Arcdegree
, который использовался для задания поворота камеры, широты, долготы, теперь отдельные типы -Bearing
,Latitude
,Longitude
. - Изменен API для работы с пробками:
TrafficScore
переименован вTrafficScoreProvider
,TrafficScoreValue
вTrafficScore
,TrafficManager
удален -TrafficScoreProvider
создается через конструктор. - Исправлено падение, когда при создании карты
GLContext
не создавался. Теперь в случае ошибки возникает исключениеGLContextError
. Нужно уметь его обрабатывать. - Метод
LocaleManager.setOverridedLocales
переименован вoverrideLocales
. - Удалено получение очереди позиционирования через
IPositioningServicesFactory.positioningQueue
. Теперь внутри реализации протоколаILocationProvider
не нужно вызывать callback через очередь. - Исправления и изменение API пользовательских контроллеров камеры - теперь контроллер может быть лишь один, добавляется/удаляется методами
Camera.setCustomFollowController
/Camera.removeCustomFollowController
.
🗺 Изменения в стилях карты
- В редакторе стилей на вкладке
Динамические объекты
у объектаРадиус точности геопозиции
должен использоваться подслойs_dvg_accuracy_circle
(если есть ещё 2 - это нормально, они оставлены для совместимости с первой версией). - У слоёв
Камера контроля скорости
в каталогахСлой транспортных событий в режиме ведения
,Слой транспортных событий
,Транспортные события на маршруте в режиме ведения
иТранспортные события на маршруте
поменялся масштаб отображения на 13-14. - Добавился слой
Территория парковки автосгенеренная для режима парковок
. - Удалён слой
Парковки
. - Добавились слои
Парковки с неизвестной ценой
,Парковки для инвалидов
,Парковки для резидентов
,Парковки такси
,Парковки бесплатные
. - В каталогах
Транспортные события на маршруте в режиме ведения
иТранспортные события на маршруте
появились новые слои. Добавьте их в свои стили, чтобы продолжали отображаться камеры на маршруте, а также появились новые события. - Добавились каталоги со слоями
Слой транспортных событий в режиме ведения
иСлой транспортных событий
для нового слоя дорожных событий. - Добавился каталог слоёв
Пузырьки парковок
, а также слоиЗона запрета парковки для включенного слоя парковки
иТерритория парковки для режима парковок
. Эти данные отображаются только в случае, когда у карты задан атрибутparkingOn
со значением true. - Слой
Территория парковки
теперь отображается, когда у карты атрибутparkingOn
отсутствует или выставлен в false.
v1.6.10
Release Date: 25.11.2021
🛠 Исправления
- Убрали уведомление о том, что необходимо предоставить разрешение на поиск устройств в локальной сети и подключение к ним. Данное уведомление появлялось при первой установке приложения с нашим MobileSDK и последующей инициализации карты.
- Теперь создание карты с размером 0x0 валидно.
- Исправлено падение при работе
MyLocationController
.
v2.0.0-beta.8
Release Date: 22.11.2021
🌟 Новые возможности
- Добавлены сбор и отправка данных о пробках во время навигации. По умолчанию включено, выключить можно с помощью
TrafficCollector.trafficCollectingAllowed
. - Данные о парковках в справочнике -
DirectoryObject.parkingInfo
. - Данные об отзывах в справочнике -
DirectoryObject.reviews
. - Данные о статусе работы в справочнике -
DirectoryObject.workStatus
. - События в статистике о создании и удалении источников карты.
🛠 Исправления
- Обновили библиотеку libcurl. Перешли на асинхронное разрешение DNS имен.
- Отображение дорожных событий в навигаторе.
- Убрана задержка старта навигации.
- Неправильное значение
Model.state
при переключении с режима free-roam на движение по маршруту. - Неправильный статус обновления макрографа -
RoadMacroGraph.info.updateStatus
. - Поведение в случае изменения размера карты во время перелета.
- Поведение
Camera.padding
при маленьком размере карты. - Теперь создание карты с размером 0x0 валидно.
❗️ Изменения, влияющие на обратную совместимость
- Метод
LocaleManager.setOverridedLocales
переименован вoverrideLocales
.
❗️ Прочее
- Требуется перевыгрузить стили из редактора. Исправляет отображение железных дорог, а также исправляет падение в одном из сценариев.
v1.6.8
Release Date: 19.11.2021
🌟 Новые возможности
- Обновили библиотеку libcurl. Перешли на асинхронное разрешение DNS имен.
🛠 Исправления
- Исправлено падение в загрузке тайлов карты.
- Круг(
Circle
) мерцал при перемещении.
❗️ Прочее
- Требуется перевыгрузить стили из редактора. Исправляет отображение железных дорог, а также исправляет падение в одном из сценариев.
v2.0.0-beta.7
Release Date: 10.11.2021
🌟 Новые возможности
- Добавлены подписи у маркеров дорожных событий.
- Карточка добавления дорожного события (
CreateRoadEventView
). - Отображение фотографии в карточке дорожного события.
- Кнопка удаления дорожного события в карточке.
- Возможность включения/выключения озвучки инструкций, препятствий и подтипа дороги -
SoundCategory.instructions
,SoundCategory.obstacles
,SoundCategory.roadSubtypes
. - Отправляем статистику о параметрах используемых карт - размер, DPI и т. д.
🛠 Исправления
- Не озвучивались дорожные события, у которых не указана полоса.
- Не позволяем масштабировать карту двойным нажатием, когда масштабирование отключено в настройках.
- Круг(
Circle
) мерцал при перемещении. - Убрана озвучка лежачих полицейских (она и раньше не работала - нет таких звуков, вместо них была пустота).
v2.0.0-beta.6
Release Date: 29.10.2021
🛠 Изменения
- Получение фотографий дорожных событий -
RoadEvent.photos
. - Возможность создания дорожных событий -
RoadEventManager
с методамиcreateAccident
,createCamera
и др. - Возможность удалить дорожное событие -
RoadEvent.remover
. - Возможность совершать действия с дорожными событиями (подтвердить, опровергнуть, лайкнуть и т. д.) -
RoadEvent.availableActions
. - Улучшено описание дорожных событий-камер.
- Исправлено отображение иконок двусторонних перекрытий - раньше отображалось лишь с одной стороны.
- Возможность задать размер карты у функций вычисления позиции камеры - параметр
size
уcalcPosition
иzoomOutToFit
. - Настройки маршрута
RouteMapObjectSource.routeSourceSettings
,NavigationManager.routeSourceSettings
, с помощью которых можно задать параметры отображения стрелок манёвров. - Озвучивание перестроения маршрута в навигаторе.
- Исправлено озвучивание сгруппированных камер - озвучивается лишь самая приоритетная.
- Индикатор загрузки при перестроении маршрута в UI навигатора.
- Исправлена ошибка при отправке статистики, при которой было мало событий
MapSource
с типом2gis.online
. - Исправлены потенциальные падения в обработке сетевых запросов.
- Подробное логирование информации о сетевых запросах при уровне
LogLevel.verbose
. - Поправили отображение логотипа 2GIS, чтобы Xcode не выдавал предупреждения.
- Исправлено падение в
IBatteryInfoProvider
.
❗️ Изменения, влияющие на обратную совместимость
- Исправлено падение, когда при создании карты
GLContext
не создавался. Теперь в случае ошибки возникает исключениеGLContextError
.
v1.6.4
Release Date: 29.10.2021
- Исправлены потенциальные падения в обработке сетевых запросов.
v1.6.3
Release Date: 26.10.2021
- Определение PPI экрана новых устройств.
- Исправлен размер логотипа 2GIS на карте.
- Исправлена ошибка при отправке статистики, при которой было мало событий
MapSource
с типом2gis.online
. - Исправлено падение при работе
MyLocationController
. - Исправлено падение, когда при создании карты
GLContext
не создавался. Теперь просто пишем ошибки в лог. - Поправили отображение логотипа 2GIS, чтобы Xcode не выдавал предупреждения.
- Исправлено падение в
IBatteryInfoProvider
.
v2.0.0-beta.5
Release Date: 21.10.2021
🛠 Изменения
- Исправлено некорректное поведение кнопки закрытия карточки дорожного события.
- Исправлена проблема, при которой появлялись артефакты при скрытии контрола полосности в режиме
FreeRoam
. - Теперь при достижении финишной точки маршрута скрываются контролы навигатора.
- Исправлена ошибка при скачивании территорий.
- Добавлена возможность обработки клика по дорожному событию на маршруте.
- Поддержана отрисовка камер в режиме
FreeRoam
при использовании офлайн источника дорожного графа. - Исправлена ошибка, при которой не отображались камеры при первом построении маршрута.
- Исправлено падение при работе
MyLocationController
. - Исправлены ошибки при отображении дорожных событий.
- Исправлена ошибка, при которой не отображались иконки камеры контроля перекрестка.
- Добавлена возможность отключать озвучку по типу через
NavigationManager.soundNotificationSettings.enabledSoundCategories
.
❗️ Изменения, влияющие на обратную совместимость
- Удалено получение очереди позиционирования через
IPositioningServicesFactory.positioningQueue
. Теперь внутри реализации протоколаILocationProvider
не нужно вызывать callback через очередь.
v2.0.0-beta.4
Release Date: 14.10.2021
🛠 Изменения
- Исправления в источнике дорожных событий
RoadEventSource
. - Исправлена работа suggest-ов для некоторых запросов.
- Добавлено отображение дорожных событий на маршруте.
- Добавлен протокол
IRoadEventCardView
для отображения карточки события. - Все контролы навигатора при показе уведомлений становятся неактивными.
- Для текущего манёвра теперь отображаются именованные съезды, номера съездов, следующий манёвр, если он ближе, чем 50 метров к основному манёвру.
- Появилась возможность задавать цвет контролов навигатора через
NavigationViewOptions.theme
. - Повторный поиск маршрута в навигаторе, если предыдущая попытка была неуспешной.
- Возможность получить из модели навигатора текущую геопозицию, с которой работает навигатор -
Model.location
. - Исправление в озвучивании камер в навигаторе - теперь сообщается расстояние до камеры, а не до начала ее действия.
- Дополнительное описание типа дороги -
RouteInfo.roadSubtypes
. - Дабавлены значения по умолчанию для параметров поиска маршрута на грузовом транспорте в
TruckRouteSearchOptions
.
❗️ Изменения, влияющие на обратную совместимость
- Исправления и изменение API пользовательских контроллеров камеры - теперь контроллер может быть лишь один, добавляется/удаляется методами
Camera.setCustomFollowController
/Camera.removeCustomFollowController
. Model.routeInfo
переименовано вModel.route
,Model.currentRoutePosition
вModel.routePosition
, вместоModel.badLocation
теперь противоположноеModel.locationAvailable
, вместоModel.currentSpeedChannel
теперьModel.locationChannel.groundSpeed
.
🗺 Изменения в стилях карты
- У слоёв "Камера контроля скорости" в каталогах "Слой транспортных событий в режиме ведения", "Слой транспортных событий", "Транспортные события на маршруте в режиме ведения" и "Транспортные события на маршруте" поменялся масштаб отображения на 13-14.
- У слоёв "Территория парковки" и "Территория парковки для режима парковок" задан цвет для выделенного состояния
- Добавился слой "Территория парковки автосгенеренная для режима парковок".
- У слоёв в каталоге "Пузырьки парковок" приоритет иконки поднят до 1, чтобы они вытесняли обычные значки парковок
- Удалён слой "Парковки".
- Добавились слои "Парковки с неизвестной ценой", "Парковки для инвалидов", "Парковки для резидентов", "Парковки такси", "Парковки бесплатные".
v2.0.0-beta.3
Release Date: 07.10.2021
- Отображение дорожных событий на карте (не привязанных к конкретному маршруту) -
RoadEventSource
,RoadEvent
. - Возможность задать пользовательский контроллер слежения камерой -
CustomFollowController
. - Исправлена регрессия: не работало перетаскивание маркеров без текста.
- Отображение на карте начала и конца платных дорог.
- Поддержка межрегионального офлайн поиска проезда.
- Поддержка такси как отдельного вида транспорта -
TaxiRouteSearchOptions
. - Поддержка пропусков для грузового транспорта -
TruckRouteSearchOptions.passId
,TrafficRoute.truckPassZoneIds
. - Исправлено озвучивание дополнительного манёвра в навигаторе.
- Озвучивание аварий и дорожных работ в навигаторе.
- Голосовое оповещение о промежуточных точках в навигаторе.
- Исправление в притяжке к дорожному графу в навигаторе при нулевой скорости.
- Отображение следующего манёвра и номера съезда в UI навигатора.
- UI навигатора локализован на русский и английский.
- Ломающие изменения в API навигатора. Информация о маршруте -
RoadTypeInfo
,TransportTypeInfo
,RoadSurfaceInfo
,SpeedLimitInfo
,RoadNameInfo
,TollInfo
- теперь расположена вRouteInfo
в виде списков, текущее зачение можно получить из них, обратившись по соответствующему индексу вModel
-Model.roadTypeIndex
,Model.transportTypeIndex
и т. д. - Определение PPI экрана новых устройств.
- Изменения в стилях карты:
- Ломающее изменение. В каталогах "Транспортные события на маршруте в режиме ведения” и "Транспортные события на маршруте” появились новые слои. Добавьте их в свои стили, чтобы продолжали отображаться камеры на маршруте, а также появились новые события.
- Добавились каталоги со слоями "Слой транспортных событий в режиме ведения” и "Слой транспортных событий” для нового слоя дорожных событий
- Добавился каталог слоёв "Пузырьки парковок", а также слои "зона запрета парковки для включенного слоя парковки” и "Территория парковки для режима парковок". Эти данные отображаются только в случае, когда у карты задан атрибут parkingOn со значением true.
- Слой "Территория парковки". теперь отображается, когда у карты атрибут parkingOn отсутствует или выставлен в false.
v2.0.0-beta.2
Release Date: 28.09.2021
- Исправлена гонка в
RouteMapObject
, что могло приводить к его неправильному отображению. - Добавлено отображение на карте и озвучка новых типов камер.
- Добавлено свойство
Camera.size
- размер области просмотра в пикселях. - Ломающие изменения в API навигатора:
- свойство
Model.maneuverInstructionIndex
переименовано вinstructionIndex
; - Для получения информации о инструкциях навигатора служит
RouteInfo.instructions
, получить название манёвра из которых можно с помощью функцииgetInstructionManeuver
- свойство
- Исправлено слежение за геопозицией при использовании навигатора с несколькими картами одновременно.
- Убран лишний переход
Model
в состояниеState.DISABLED
при перепоиске маршрута.
v1.6.2
Release Date: 23.09.2021
- Исправлены проблемы, которые возникли после доработки перемещения маркеров без текста - медленно работали статичные маркеры без текста и для маркеров без текста не устанавливалась прозрачность.
- Обновлен размер логотипа 2GIS на карте.
- Исправлена проблема, когда при задании угла наклона при создании карты, угол наклона сбрасывался при любом изменении карты.
v2.0.0-beta.1.2
Release Date: 23.09.2021
- Исправлены проблемы, которые возникли после доработки перемещения маркеров без текста - медленно работали статичные маркеры без текста и для маркеров без текста не устанавливалась прозрачность.
- Обновлен размер логотипа 2GIS на карте.
- Исправлена проблема, когда при задании угла наклона при создании карты, угол наклона сбрасывался при любом изменении карты.
v1.6.0
Release Date: 21.09.2021
- Существенно ускорено перемещение маркеров без текста.
Важно: необходимо переэкспортировать стиль из редактора стилей, без этого маркеры не будут отображаться. - Изменена логика кластеризации - в качестве центра кластера берется центр масс подкластеров предыдущего уровня.
- Исправлена ошибка, когда в режиме кластеризации при удалении маркера удалялись соседние близко расположенные маркеры.
- Исправлена работа
SuggestQueryBuilder.setSuggestorType
- ранее эта опция не влияла на результат.
v2.0.0-beta.1
Release Date: 21.09.2021
- Существенно ускорено перемещение маркеров без текста.
Важно: необходимо переэкспортировать стиль из редактора стилей, без этого маркеры не будут отображаться. - Изменена логика кластеризации - в качестве центра кластера берется центр масс подкластеров предыдущего уровня.
- Исправлена ошибка, когда в режиме кластеризации при удалении маркера удалялись соседние близко расположенные маркеры.
- Исправлена работа
SuggestQueryBuilder.setSuggestorType
- ранее эта опция не влияла на результат. - Добавлены свойства
TrafficRoute.startPoint
,TrafficRoute.finishPoint
- начальная и конечная точка маршрута. - Добавлены настройки управления масштабированием в навигаторе -
NavigationManager.zoomFollowSettings
. - Добавлены настройки обновления пробочных данных в навигаторе -
NavigationManager.trafficSettings
. - Для настройки звука были добавлены
AudioOptions
иIAudioSettings
. Настроить можно приглушение звуков сторонних приложений в навигаторе и уровень громкости при воспроизведении. - Контрол слежения в навигаторе -
NavigatorFollowingControl
. BetterRouteControlView
при отсутствии с ним взаимодействия переходит в свернутое состояние.
Миграция с v1.x
- Вместо
Arcdegree
, который использовался для задания поворота камеры, широты, долготы, теперь отдельные типы -Bearing
,Latitude
,Longitude
. - Изменен API для работы с пробками:
TrafficScore
переименован вTrafficScoreProvider
,TrafficScoreValue
вTrafficScore
,TrafficManager
удален -TrafficScoreProvider
создается через конструктор. - Поменялись базовые стили. В редакторе стилей на вкладке
Динамические объекты
у объектаРадиус точности геопозиции
должен использоваться подслойs_dvg_accuracy_circle
(если есть ещё 2 - это нормально, они оставлены для совместимости с первой версией).
v1.5.0
Release Date: 06.09.2021
- Исправлена проблема с освобождением памяти после удаления
MapView
. - Исправлена проблема смены иконки у маркера через
Marker.icon
, при которой до появления нового загруженного изображения отрисовывалась пустая иконка. Теперь до загрузки нового изображения отображается старое. - Доработана отрисовка перекрытий на дороге поверх пробок.
- Реализован контрол пробок
TrafficControl
для включения отрисовки пробок на карте и отображения пробочного балла. Получить объект контрола можно с помощьюIMapControlFactory.makeTrafficControl
. - Исправлено падение
Mobile SDK
наiOS 15 beta
, когда приложение находилось в свернутом состоянии.
v2.0.0-alpha.8
Release Date: 03.09.2021
- Навигатор автоматически меняет zoom-уровень карты в зависимости от скорости (пока что без возможности настройки).
- Исправлено отображение пробок на карте при максимальных значениях zoom-уровня.
- Исправлена проблема смены иконки у маркера через
Marker.icon
, при которой до появления нового загруженного изображения отрисовывалась пустая иконка. Теперь до загрузки нового изображения отображается старое. - Переделан расчет зоны действия камеры на маршруте.
- Сделано исправление ошибки, при которой слежение за позицией включается не сразу при старте навигации.
- В базовых UI контрола навигатора поддержаны различные режимы работы навигатора, такие как
RouteSearch
,Finished
,Disabled
. - Доработана отрисовка перекрытий на дороге поверх пробок.
- Реализован контрол пробок
TrafficControl
для включения отрисовки пробок на карте и отображения пробочного балла. Получить объект контрола можно с помощьюIMapControlFactory.makeTrafficControl
. - Ломающее изменение. Класс
RouteSearchOptions
был заменён на variant, который может содержать один из конкретных классов -CarRouteSearchOptions
,PedestrianRouteSearchOptions
,BicycleRouteSearchOptions
,PublicTransportRouteSearchOptions
илиTruckRouteSearchOptions
. - Ломающее изменение. Был удален enum
RoutingType
. Вместо него стоит использоватьRouteSearchOptions
. - Ломающее изменение. У класса
NavigationManager.uiModel
удален каналdistanceCountersChannel
. Вместо него теперь нужно использоватьcurrentRoutePositionChannel
для расчета оставшегося расстояния до ближайшего манёвра или до конца маршрута. КлассыDistanceCounters
иHumpPoint
были удалены. Добавлен классIntermediatePoint
, описывающий промежуточную точку на маршруте. Информацию о текущей позиции на маршруте содержит новый классRoutePosition
. - Ломающее изменение. Удален класс
TrafficManager
. КлассTrafficScore
переименован вTrafficScoreProvider
и становится основным классом для работы с пробками. КлассTrafficScoreValue
переименован вTrafficScore
. - Ломающее изменение. Поменялись базовые стили. В редакторе стилей на вкладке
Динамические объекты
у объектаРадиус точности геопозиции
должен использоваться подслойs_dvg_accuracy_circle
(если есть ещё 2 - это нормально, они оставлены для совместимости с первой версией).
v2.0.0-alpha.7
Release Date: 26.08.2021
- Исправлена проблема, при которой
MapObjectManager.removeObject
не отрабатывал, если параллельно у удаляемого объекта изменять атрибуты. - Доработана кластеризация, формируемая через
MapObjectManager.withClustering
. Теперь при удалении маркеров изMapObjectManager
позиция кластеров корректируется в случае, если был удален кластерообразующий маркер. - Теперь
CameraPositionPoint
учитывается при расчете позиции камерыCameraPosition
с помощью функцииcalcPosition
. - Ломающее изменение. Доработано отображение маркера текущего местоположения - теперь иконку с направлением можно рисовать всегда, независимо от режима навигации.
В случае использования кастомных стилей, в редакторе стилей нужно поправить динамические объекты текущего местоположения следующим образом:
- У
Маркер на авто
иМаркер на авто, устаревшая позиция
в пунктеВидимость
перевести тумблерРежим навигатора
и выбрать пунктВключен
. - У
Маркер с направлением
,Маркер без направления
иМаркер без направления, устаревшая позиция
в пунктеВидимость
перевести тумблерРежим навигатора
и выбрать пунктВыключен
.
- У
- Исправлено зависание в
TrafficSource
- Исправления в притяжке к маршруту в режиме Free Roam
v1.4.0
Release Date: 24.08.2021
- Исправлена проблема, при которой
MapObjectManager.removeObject
не отрабатывал, если параллельно у удаляемого объекта изменять атрибуты. - Доработана кластеризация, формируемая через
MapObjectManager.withClustering
. Теперь при удалении маркеров изMapObjectManager
позиция кластеров корректируется в случае, если был удален кластерообразующий маркер. - Теперь
CameraPositionPoint
учитывается при расчете позиции камерыCameraPosition
с помощью функцииcalcPosition
. - Ломающее изменение. Доработано отображение маркера текущего местоположения - теперь иконку с направлением можно рисовать всегда, независимо от режима навигации.
В случае использования кастомных стилей, в редакторе стилей нужно поправить динамические объекты текущего местоположения следующим образом:
- У
Маркер на авто
иМаркер на авто, устаревшая позиция
в пунктеВидимость
перевести тумблерРежим навигатора
и выбрать пунктВключен
. - У
Маркер с направлением
,Маркер без направления
иМаркер без направления, устаревшая позиция
в пунктеВидимость
перевести тумблерРежим навигатора
и выбрать пунктВыключен
.
- У
v2.0.0-alpha.6
Release Date: 13.08.2021
- Добавлена возможность настройки пешеходной озвучки маршрута при навигации.
- В
NavigationManager.uiModel
добавлен каналnavigationActiveChannel
, который возвращает два состояния -active
иinactive
. Второе состояние выставляется, когда пользователь закончил движение на автомобиле, и навигатор можно выключить. - Исправлено падение при параллельном изменении позиции маркера и переинициализации
MapObjectManager
. - Исправлена ошибка, при которой переставала работать кластеризация при малых значениях zoom-уровня (0 или 1).
- Исправлено некорректное поведение при клике в кластер при отображении кластеризации.
- Добавлена поддержка
Map.interactive
для жестов карты и копирайта. - Исправлена ошибка, при которой появлялась утечка памяти, если карта становилась невидимой, но с ней продолжал работать прикладной код (изменять текущие объекты на карте, добавлять новые и т. д.).
v1.3.0
Release Date: 12.08.2021
- Исправлено падение при параллельном изменении позиции маркера и переинициализации
MapObjectManager
. - Исправлена ошибка, при которой переставала работать кластеризация при малых значениях zoom-уровня (0 или 1).
- Исправлено некорректное поведение при клике в кластер при отображении кластеризации.
- Добавлена поддержка
Map.interactive
для жестов карты и копирайта. - Исправлена ошибка, при которой появлялась утечка памяти, если карта становилась невидимой, но с ней продолжал работать прикладной код (изменять текущие объекты на карте, добавлять новые и т. д.).
v2.0.0-alpha.5
Release Date: 06.08.2021
- Исправлена проблема в навигаторе, при которой в режиме навигации происходили продолжительные фризы, а маркер позиции имел некорректное направление и смещался в случайное положение.
- В
MapObjectManager
появился методclusteringObjects(сameraPosition:)
для получения объектов кластеризации для заданной позиции камеры. Метод возвращает как кластерыSimpleClusterObject
, так и маркерыMarker
. - С помощью объекта
SimpleClusterObject
теперь можно изменять атрибуты кластера также, как и атрибуты маркеровMarker
, за исключением позиции кластера. - Исправлена ошибка, при которой
IMapView
не работал, если был уничтожен создавший ееIMapFactory
. Теперь нет необходимости всегда хранить объектIMapFactory
. - Исправлена проблема, при которой невозможно было выбрать маршрут при максимальных значениях zoom-уровня.
- Убрали подвисание слежения за текущей позицией при смене длительности анимации в навигаторе.
v1.2.0
Release Date: 05.08.2021
- В
MapObjectManager
появился методclusteringObjects(сameraPosition:)
для получения объектов кластеризации для заданной позиции камеры. Метод возвращает как кластерыSimpleClusterObject
, так и маркерыMarker
. - С помощью объекта
SimpleClusterObject
теперь можно изменять атрибуты кластера также, как и атрибуты маркеровMarker
, за исключением позиции кластера. - Исправлена ошибка, при которой
IMapView
не работал, если был уничтожен создавший ееIMapFactory
. Теперь нет необходимости всегда хранить объектIMapFactory
.
v2.0.0-alpha.4
Release Date: 28.07.2021
- В классе
RouteMapObject
добавлен каналcalloutPositionChannel
с позицией баблика над маршрутом. - В структуру
Camera
, которую возвращаетNavigationManager
, добавлено полеrange
- информация о радиусе действия камеры. - Была разделена озвучка навигатора в зависимости от типа маршрута - пешеходный/велосипедный/автомобильный.
v1.1.0
Release Date: 28.07.2021
-
Исправлена ошибка, когда через
MapObjectManager
добавляется на карту маркер до полной загрузки изображения. -
Добавлен новый протокол
IEnergyConsumption
для установки максимального fps в обычном режиме и в режиме энергосбережения. -
Исправлена ошибка, при которой карта не обновлялась, когда удалялись маркера при кластеризации через
MapObjectManager
. -
Исправлена ошибка, при которой маркер моего местоположения поворачивался в противоположную сторону.
-
Частично исправлена проблема утечки памяти при частом обновлении геометрии у объектов карты (например, раз в 10 мс менять точки у полилинии). Полное исправление будет в следующих релизах.
-
Обновлены общие стили:
-
В редактор перенесены:
A. Стрелки манёвров (Линия маршрута на авто => 4 слоя
Стрелки манёвров*
).B. Начальная, конечная, промежуточная точка маршрута, а также точка соединения разных частей маршрутов (слои
Точка Б
,Точка А
,Соединительные точки
,Промежуточные точки
в каталогеДинамические объекты
).C. Маркеры поисковой выдачи (слои
Поисковой маркер выделение
,Поисковой маркер
,Генерализованный маркер
в каталогеДинамические объекты
).D. Объекты на маршруте (слои в каталогах
TUGC на маршруте в режиме ведения
иTUGC на маршруте
).E. Пешеходные части маршрутов (слои в каталогах
Линия пешего маршрута в ведении
иЛиния пешего маршрута
).F. Маркер геопозиции для пешеходного режима (слои
Маркер с направлением
,Маркер без направления
,Устаревший маркер без направления
в каталогеДинамические объекты
).Теперь эти объекты настраиваются из редактора и не отображаются безусловно поверх всего. Слои нужно скопировать в свои стили и расположить в аналогичном порядке, чтобы все объекты отображались с новой версией SDK корректно. Для копирования слоя можно выделить нужные слои, нажать
Ctrl+C/Cmd+C
и открыть в том же окне другой стиль. -
Удалён слой
Маркер пешком
. Его также нужно удалить в собственных стилях. -
Изменены слои для отображения подъездов (слои
Подъезды над домами
иПодъезды под домами
). Теперь данные задаются не через JSON, а выбраны правильные слои во вкладкеДанные
. Также в ночной теме у подъездов под домами убран шрифт, чтобы они отображались без подписей. Нужно внести аналогичные изменения в собственных стилях. -
В ночную тему в каталог
Подписи гео объектов
добавлены слоиПодписи горных хребтов
иПодписи платформ
, а в каталогДостопримечательности
— слойГраффити
. -
В дневную тему в каталог
Достопримечательности
добавлены слоиЁлочный базар
,Полиция
,Душевая кабина
,Танцпол
. -
Изменены слои в каталоге
Дороги
, требуется их обновить в собственных стилях.
-
v2.0.0-alpha.3
Release Date: 23.07.2021
-
Исправлена проблема с ведением по длинному маршруту: обновление маркера геопозиции и всей карты происходило не плавно, а рывками.
-
Исправлена ошибка, когда через
MapObjectManager
добавляется на карту маркер до полной загрузки изображения. -
Добавлен новый протокол
IEnergyConsumption
для установки максимального fps в обычном режиме и в режиме энергосбережения. -
Исправлена ошибка, при которой карта не обновлялась, когда удалялись маркера при кластеризации через
MapObjectManager
. -
Исправлена ошибка, при которой маркер моего местоположения поворачивался в противоположную сторону.
-
Обновлены общие стили:
-
В редактор перенесены:
A. Стрелки манёвров (Линия маршрута на авто => 4 слоя
Стрелки манёвров*
).B. Начальная, конечная, промежуточная точка маршрута, а также точка соединения разных частей маршрутов (слои
Точка Б
,Точка А
,Соединительные точки
,Промежуточные точки
в каталогеДинамические объекты
).C. Маркеры поисковой выдачи (слои
Поисковой маркер выделение
,Поисковой маркер
,Генерализованный маркер
в каталогеДинамические объекты
).D. Объекты на маршруте (слои в каталогах
TUGC на маршруте в режиме ведения
иTUGC на маршруте
).E. Пешеходные части маршрутов (слои в каталогах
Линия пешего маршрута в ведении
иЛиния пешего маршрута
).F. Маркер геопозиции для пешеходного режима (слои
Маркер с направлением
,Маркер без направления
,Устаревший маркер без направления
в каталогеДинамические объекты
).Теперь эти объекты настраиваются из редактора и не отображаются безусловно поверх всего. Слои нужно скопировать в свои стили и расположить в аналогичном порядке, чтобы все объекты отображались с новой версией SDK корректно. Для копирования слоя можно выделить нужные слои, нажать
Ctrl+C/Cmd+C
и открыть в том же окне другой стиль. -
Удалён слой
Маркер пешком
. Его также нужно удалить в собственных стилях. -
Изменены слои для отображения подъездов (слои
Подъезды над домами
иПодъезды под домами
). Теперь данные задаются не через JSON, а выбраны правильные слои во вкладкеДанные
. Также в ночной теме у подъездов под домами убран шрифт, чтобы они отображались без подписей. Нужно внести аналогичные изменения в собственных стилях. -
В ночную тему в каталог
Подписи гео объектов
добавлены слоиПодписи горных хребтов
иПодписи платформ
, а в каталогДостопримечательности
— слойГраффити
. -
В дневную тему в каталог
Достопримечательности
добавлены слоиЁлочный базар
,Полиция
,Душевая кабина
,Танцпол
. -
Изменены слои в каталоге
Дороги
, требуется их обновить в собственных стилях.
-
v2.0.0-alpha.2
Release Date: 13.07.2021
- Добавлена поддержка пешеходных маршрутов с типом
RoutingType.Pedestrian
. В классеRouteInfo
есть массив с описанием всех препятствий на пешеходном маршрутеRouteInfo.pedestrianObstacles
. - Добавлена поддержка маршрутов на общественном транспорте с типом
RoutingType.Public
. - Реализован интерфейс
TerritoryManager
для скачивания offline-территорий. - Добавлены
NavigationVoice
иVoiceSelector
для выбора озвучки и голоса навигатора. - Реализован
VoiceManager
для взаимодействия со списком голосовых пакетов навигатора. - Реализован основной функционал управления этажными планами через
Map.indoorManager
. - Добавлена возможность получения и установки
zIndex
уSimpleMapObject
объектов. - Добавлена возможность указать, какие части маршрута отображаются на карте через
RouteMapObject.displayFlags
. - Стала доступна функция
getLanesControlImages
для получения списка иконок полос, поставляемых вместе с SDK. - Обновлен логотип copyright на карте.
- Обновление маркера местоположения в навигаторе при сходе с маршрута.
- Ломающее изменение. В классе
RouteInfo
для описания маршрута вместо длины маршрута теперь добавлен маршрут TrafficRoute целиком.
v1.0.1
Release Date: 08.07.2021
🎉 Первый публичный релиз!🎉
-
Ломающее изменение. Изменены названия пакетов -
PlatformSDK
иPlatformMapSDK
переименованы вDGis
независимо от типа сборки. -
Уменьшен размер Map-версии SDK - убрали работу с offline справочником и источником данных карты.
Для Map-версии в
ISearchManagerFactory
остался только методmakeOnlineManager
для создания online справочника, аmakeOfflineManager
иmakeSmartManager
теперь доступны только в Full-версии.Для Map-версии в
ISourceFactory
удален методcreateOfflineDGISSource
для создания offline источника данных карты. -
В
MapObjectManager
теперь можно включать режим кластеризации дляMarker
объектов.Для инициализации кластеризации необходимо создать объект
MapObjectManager
с помощьюMapObjectManager.withClustering(map:logicalPixel:maxZoom:clusterRenderer:)
.Четвертый параметр - это пользовательская реализация протокола
ISimpleClusterRenderer
для кастомизации рендеринга кластеров на карте. Сама кастомизация происходит на основе объектаSimpleClusterOptions
, который возвращается в результате вызова функцииISimpleClusterRenderer.renderCluster
. -
С помощью
TextStyle.textPlacement
иTextStyle.textOffset
теперь можно задавать расположение надписи относительно маркера. -
Добавлена возможность задания угла наклона камеры в зависимости от масштаба -
ZoomToTiltRelation
,Camera.zoomToTiltRelation
. -
В
LogOptions
появилась возможность задать пользовательский обработчик логирования. Для этого необходимо реализовать протоколILogSink
и передать объект вLogOptions.customSink
. -
Ломающее изменение: Функция
toMapGeometry(trafficRoute:currentRoutePoint:)
для получения геометрии оставшейся части маршрута переименована вremainingRouteGeometry(trafficRoute:currentRoutePoint:)
. -
Оптимизация работы с сетевыми соединениями.
v0.16.1
Release Date: 07.06.2021
- Обновлены стандартные стили карты - исправлены размеры надписей и иконок.
v0.16.0
Release Date: 02.06.2021
-
При создании объектов карты появилась возможность задавать порядок их отрисовки через
MarkerOptions.zIndex
,PolygonOptions.zIndex
и т. д. Значение индекса влияет на приоритет объекта при наложении элементов на карте. -
Упрощение создания простых типов данных:
Arcdegree
,Color
,Elevation
,GeoPoint
,GeoPointWithElevation
,LogicalPixel
,Meter
,Tilt
иZoom
.Например, раньше при создании объекта типа
GeoPoint
необходимо было конструировать объекты типаArcdegree
.let geoPoint = GeoPoint(latitude: Arcdegree(value: 54.0), longitude: Arcdegree(value: 32.0))
Теперь доступна инициализация
GeoPoint
из пары значенийCLLocationDegrees
.let geoPoint = GeoPoint(latitude: 54.0, longitude: 32.0)
. -
Добавлена возможность задавать список локалей в обход системных настроек с помощью
LocaleManager.setOverridedLocales
. Для возврата к системным локалям необходимо передать пустой список в методLocaleManager.setOverridedLocales
. -
Добавлена функция
toMapGeometry(trafficRoute:currentRoutePoint:)
для получения геометрии оставшейся части маршрута. -
Исправлено отображение карты при нулевом z-уровне.
-
Добавлена возможность отключения анимации при появлении или исчезновении объектов на карте через
MarkerOptions.animatedAppearance
иMarker.setAnimatedAppearance
. -
Поддержана установка корректного DPI при создании карты. Теперь помимо установки DPI через
MapOptions.devicePPI
можно задатьMapOptions.deviceDensity
- множитель, равный числу физических пикселей устройства в одной логической точке экранной системы координат. Из-за того, что deviceDensity не устанавливался, объекты на карте на различных z-уровнях имели некорректные размеры.Например, для заданного экрана (
UIScreen
) этот множитель равен значениюnativeScale
. По умолчанию беретсяnativeScale
главного экрана. -
Ломающее изменение. Удален устаревший класс
MarkerBuilder
для создания объектов карты. Вместо него нужно использовать классMapObjectManager
для добавления объектов; конструкторыMarker
,Polygon
и т. д. для их создания.
v0.15.0
Release Date: 25.05.2021
-
Добавлена возможность проверки пересечения геометрий -
Geometry.hasIntersection
. -
В
SearchResult
добавлен признакautoUseFirstResult
, который обозначает, что первый элемент поисковой выдачи наиболее подходит для перелета или построения маршрута к нему. -
Исправлена ошибка в механизме сетевого кеширования, приводящая к медленной записи сетевых ответов на файловую систему устройства.
-
Ломающее изменение. Изменение интерфейса
MapObjectManager
.Теперь объекты карты создаются через конструкторы
Marker
,Polygon
и т. д. вместоMapObjectManager.addMarker
илиMapObjectManager.addPolygon
.Для добавления или удаления объектов карты теперь нужно использовать методы
MapObjectManager.addObject/addObjects/removeObject
и т. д. При добавлении нескольких объектов эффективнее всего использоватьMapObjectManager.addObjects
. -
Ломающее изменение. Изменён порядок параметров функций
calcPosition
иzoomOutToFit
. -
Ломающее изменение. Настройка сервиса сбора данных
DataCollectStatus
переименована вPersonalDataCollectionConsent
. -
Ломающее изменение. В конструкторе
Container
параметрdataCollectStatus
также переименован вpersonalDataCollectionConsent
.
v0.14.0
Release Date: 05.05.2021
-
Исправлена ошибка при добавлении маркера на карту через
MapObjectManager
.По умолчанию маркер был направлен на север. Это приводило к тому, что его угол поворота зависел от угла поворота карты.
Теперь маркер направлен к верху экрана устройства независимо от поворота карты.
-
Ломающее изменение. Изначальный поворот маркера (
MarkerOptions.iconMapDirection
) и поворот существующего маркера (Marker.iconMapDirection
) теперь имеют зануляемый типMapDirection?
.Нулевое значение означает, что маркер будет направлен к верху экрана устройства независимо от поворота карты.
v0.13.0
Release Date: 30.04.2021
- Добавлена возможность задать поворот маркера. Изначальный поворот —
MarkerOptions.iconMapDirection
; поворот существующего маркера —Marker.iconMapDirection
. - В копирайте на карте по умолчанию не отображается версия SDK. Чтобы включить, нужно установить
MapView.showsAPIVersion
вtrue
. - Добавлена возможность получения местоположения и направления камер в навигаторе:
Camera.geoPoint
,Camera.bearing
. - Добавлена возможность задать точку местоположения (
positionPoint
) в функцияхcalcPosition
иzoomOutToFit
. - Ломающее изменение. Многие функции создания объектов заменены на инициализаторы соответствующего типа.
Например:
createMapObjectManager
→MapObjectManager.init
;Geometry.createPoint
→PointGeometry.init
и т. д.
v0.12.2
Release Date: 24.04.2021
- Исправлены параметры при сборе статистики.
v0.12.1
Release Date: 23.04.2021
- Исправлено отображение карты на разных масштабах.
- Исправлен механизм сбора статистики.
- Исправлена проблема с маркерами, при которой они вытесняли друг друга на разных масштабах.
- Установлено минимальное значение zoom-левела равное 2.
v0.12
Release Date: 22.04.2021
-
Исправлено потенциальное падение при передаче
MapOptions
с ненулевымstyleFuture
вContainer.makeMapFactory(options:)
. -
Исправлено потенциальное падение при уничтожении объектов карты (
IMapFactory
). -
Устранена утечка одного объекта при полном уничтожении контейнера SDK.
-
Улучшена обработка объектов
CLLocation
в реализациях протоколаILocationProvider
.Прежде, если местоположение содержало одновременно корректные и некорректные компоненты (например, имеются геокоординаты, но отсутствует значение скорости), объект не учитывался целиком. Это сопровождалось сообщением
Platform sent an invalid location
в журнале.Теперь в таком случае учитываются верные компоненты. Сообщение пишется тогда, когда в SDK передаётся полностью некорректное местоположение.
-
Добавлено автоопределение PPI карты на основании модели головного устройства. См.
DevicePpi.autodetected
. Настройки карты по умолчанию (MapOptions.default
) используют этот PPI; а в случае неподдерживаемого устройства проставляетсяDevicePpi.defaultForFailedAutodetection
. -
Тип
DevicePpi
теперь реализует протоколExpressibleByFloatLiteral
. -
Добавлена возможность задавать тему карты и включать автопереключение темы на iOS 13.
Новый тип
Theme
соответствует теме в рамках стиля. Новый типMapAppearance
указывает набор тем и способ их применения:.universal
для фиксированной темы;.automatic
для автопереключения между светлой и тёмной темой на iOS 13.Настройку тем можно задать в
MapOptions.appearance
при создании объектов карты вызовомContainer.makeMapFactory(options:)
. Последующее переключение доступно установкой свойстваIMapView.appearance
. -
Ломающее изменение. Тип
MapOptions.devicePpi
изменился cCGFloat?
наDevicePpi?
в целях улучшения документации. -
Добавлен сбор анонимной статистики использования. По умолчанию включён. См. параметр
dataCollectionOptions
уContainer.init
. Отключать рекомендуется только в случае явного выбора пользователем (например, отказ GDPR).
v0.11
Release Date: 15.04.2021
- Управление и получение информации о HTTP-кеше —
HttpCacheManager
. - Нестатические свойства большинства структур сделаны изменяемыми (т.е.
let
→var
). - Информация о полосах движения маршрута -
RouteInfo.laneSigns
. - Убрана тонкая черная граница у объектов карты, когда она не задана.
- Типы
ScreenPoint
,ScreenSize
,ScreenShift
реализуютEquatable
иHashable
. - Добавлены конструкторы
ScreenPoint(_: CGPoint)
,ScreenSize(_: CGSize)
,ScreenShift(_: CGVector)
. - Ломающиее изменение:
TextStyle.fontSize
,TextStyle.strokeWidth
имеют типLogicalPixel
, а неFloat
. - Ломающиее изменение: В модели навигатора: вместо
Model.laneSign
теперьModel.laneSignIndex
.LaneSign
можно получить по этому индексу изRouteInfo.laneSigns
. - Ломающее изменение: Метод для создания пользовательского слоя обработки жестов принимает меньшее число парамтеров:
IMapGestureViewFactory.makeGestureView(map:coordinateSpace:)
. Убран параметрeventProcessor
: вместо него нужно использовать методMap.processEvent
.
v0.10
Release Date: 07.04.2021
- добавили инструмент для получения последнего отрисованного кадра карты в виде изображения —
IMapFactory.snapshotter.makeImage()
- removeSource больше не бросает исключение. Даже если источник не был добавлен на карту
- добавили полилинию с градиентом
- cоздание пользовательского слоя распознавания жестов теперь возможно при инициализации карты, см.
gestureViewFactory
уMapOptions
- Ломающее изменение: изменили устройство типов, связанных с картой. Теперь карту нужно создавать вызовом
Container.makeMapFactory(options:) -> IMapFactory
. Из него доступен контроллер карты —map
, вид картыmapView
и прочие вещи. - Ломающее изменение: обновили класс GeoRect
- Ломающее изменение: мы изменили формат работы с подписками на изменения свойств. Раньше такие поля как
Map.camera.position
имели типStatefulChannel
. Прежде получали уведомления об изменениях значений свойств с помощьюcamera.position.sink(receiveValue:)
, а текущее значение черезcamera.position.value
. Такой API вызывал трудности и был менее эффективен, поэтому в новой версии, например,camera.position
— это просто свойство типаCameraPosition
; аcamera.positionChannel
—StatefulChannel<CameraPosition>. Это изменение в силе для всех свойств, ранее имевших тип
StatefulChannel`.
v0.9
Release Date: 24.03.2021
- добавили возможность рисовать пунктирную линию
- opacity для Marker
- функции конверторы для работы со Style Zoom(projectionZToStyleZ, styleZToProjectionZ)
- для работы с атрибутами карты добавлен новый тип AttributeValue
- из DgisMapObject больше нельзя получить Future на объект справочника. Для этого нужно использовать SearchManager
- настройки HTTP-клиента: время ожидания, наличие и размер дискового кеша
- возможность задавать собственные реализации сервисов геопозиционироваания или отключать их (например, для симулятора)
v0.8
Release Date: 17.03.2021
- добавили кэш для тайлов на карте. Возможность конфигурировать размер кэша появится в следующем релизе
- Padding на карте
- для объектов Polygon/Polyline добавилась возможность изменить текущую геометрию
- добавили источник для растровых тайлов(см. createRasterTileDataSource)
- поддержали атрибут theme для стилей карты выгруженных из редактора