Release notes
10.2.0 (2024-03-07)
🌟 Новые возможности
- Опции
CircleOptions.dashedStrokeOptions
иCircle.dashedStrokeOptions
для создания пунктирной окружности или добавления пунктира для уже созданной окружности. - Метод
RoadEventSource.setHighlighted
для выделения дорожных событий с идентификаторами изRoadEventMapObject.id
. - Функция
calculateClosestPoint
для получения ближайшей точки на маршруте относительно переданной точки.
🛠 Исправления
- Исправлена ошибка в работе
layedId
, который задается вMapObjectManager
: теперь он влияет на отображение кластеризованных маркеров.
🗺 Изменения в стилях карты
- Для корректной работы пунктирных окружностей нужно заново выгрузить стили.
10.1.0 (2024-01-16)
🌟 Новые возможности
- Добавлена структура
DirectoryObject.buildingInfo
со справочной информацией о здании:buildingName
,purposeName
,purposeCode
иbuildingLevels
.DirectoryObject.buildingLevels
помеченоdeprecated
и будет удалено в будущих мажорных релизах. - Добавлен
DirectoryObject.address.fiasCode
- ФИАС-код объекта справочника. - В
DirectoryObject.address.components
в структурахAddressComponent.streetAddress
иAddressComponent.number
добавлено полеfiasCode
- ФИАС-код улицы.
Миграция с версий 7.x на 10.х
Для всех типов Mobile SDK:
- Заново выгрузить стили.
- Изменена работа с
FollowController
:- Методы
createRawMyLocationController
иcreateSmoothMyLocationController
удалены. Добавлен конструкторMyLocationController
для создания контроллера перемещения маркера геопозиции. - Теперь не нужно указывать источник направления, поэтому удалены значения
FollowBearing.SATELLITE
иFollowBearing.MAGNETIC
. Добавлено значениеFollowBearing.ON
для включения слежения - источник выбирается автоматически. - Удалено поле
FollowPosition.tilt
. Слежение за наклоном теперь нужно включать отдельно. В конструкторCameraBehaviour
добавлен новый параметрtilt
для слежения за наклоном. Добавлен новый конструкторCameraBehaviour
с параметромtilt
для включения слежения только за наклоном. - Удалены значения
FollowValue.SATELLITE_BEARING
,FollowValue.MAGNETIC_BEARING
иFollowValue.ACCURACY
. Вместо них добавено значениеFollowValue.bearing
с автоматическим выбором источника. - Из интерфейса
CustomFollowController
удалены методыsatelliteBearing
,magneticBearing
иaccuracy
. Вместо этого добавлен методCustomFollowController.bearing
. - Из
FollowController
удалены методыsetClock
,satelliteBearing
,magneticBearing
иaccuracy
. Вместо этого добавлены методыonAddedToMap
,onRemovedFromMap
иbearing
. - Удален канал
FollowController.nextTimestampChannel
. Вместо этого добавленFollowController.changedChannel
. - Изменена сигнатура метода
FollowController.updateValues
. - Удален контроллер
PlatformLocationFollowController
. Вместо него добавлены контроллерыBearingFollowController
иCoordinatesFollowController
для слежения за направлением карты и за координатами позиции карты, соответственно. - Изменен конструктор контроллера
StyleZoomFollowController
. Удален методStyleZoomFollowController.setAnimationDuration
. - Изменен конструктор контроллера
TiltFollowController
. Удалены методыTiltFollowController.setTilt
иTiltFollowController.setAnimationDuration
. - Изменены параметры метода
FollowController.setThresholds
на типизированные. - Удален класс
FollowControllerClock
. Тип параметра в методеFollowController.setClock
заменен на timestamp. TransitionType
удален. КонструкторMyLocationControlModel
не принимаетtransitionType
. ПолеCameraBehaviour.transitionType
удалено. ПараметрtransitionType
удален из конструктораCameraBehaviour
.MyLocationDirectionBehaviour
удален. Конструктор источника геопозицииMyLocationMapObjectSource
не принимаетdirectionBehaviour
. МетодMyLocationMapObjectSource.setDirectionBehaviour
удален.
- Методы
- Удалено поле
BaseCamera.styleZoomToTiltRelation
. - Класс
MagneticHeadingProvider
переименован вHeadingProvider
. - Метод
LocaleManager.overrideLocales
принимает теперь список структурLocale
с отдельными полямиlanguage
иregion
. - Из MobileSDK Map сборки удалены
PackageManager
иPackage
, что уменьшило размер продукта. - В
MapOptions
удалены поляlightTheme
иdarkTheme
. Теперь для выставления темы нужно использовать классMapTheme
в методахMapOptions.setTheme
иMapView.setTheme
.
Дополнительно для полной версии:
- Метод
Voice.playWelcome
теперь возвращает Future, который становится готовым, когда проигрывание сэмпла завершается. - Удалено поле
RoadSubtype.STAIRWAY
. Вместо него добавлены поляRoadSubtype.STAIRWAY_UP
иRoadSubtype.STAIRWAY_DOWN
для использования лестниц с явным направлением. - Удалено поле
NavigationFollowController.mapTiltController
. - Кидается исключение при попытке стартовать навигатор в режиме ведения или симуляции с маршрутом на общественном транспорте.
- Отключено кэширование тайлов
FreeRoam
при навигации. MyLocationMapObjectSource
для навигатора устанавливается внутриNavigationView
.
10.0.0 (2023-12-29)
🌟 Новые возможности
- Поддержан Vulkan. Если Vulkan недоступен на девайсе, то используется OpenGL версии 3. По умолчанию включен OpenGL, так как поддержка Vulkan находится в процессе доработки и является экспериментальной фичей.
- Иммерсивные деревья на карте отображаются по умолчанию.
- Поддержана новая модель для отображения маркера текущего местоположения. Если необходимо переопределить иконку текущего местоположения, нужно передать
MyLocationMapObjectMarkerType.SVG_ICON
в конструкторMyLocationMapObjectSource
, а в стилях отредактировать соответствующий слой. - Добавлен метод
BaseCamera.changePosition
для изменения только части параметров позиции камеры. Метод принимает новую структуруCameraPositionChange
. - Добавлен метод
Camera.move
для запуска анимированного перемещения карты с возможностью сброса слежения за наклоном. - Добавлен параметр
styleZoomToTiltRelation
для функцийcalcPosition
иzoomOutToFit
: функция зависимости угла наклона камеры от стилевого zoom-уровня. - Добавлена новая функция
createDefaultStyleZoomToTiltRelation
для получения зависимости угла наклона камеры от стилевого zoom-уровня для стандартного контроллера слежения за наклоном. - Добавлен enum
BearingSource
- источник направления. - В
DGis.initialize
добавлена возможность переопределения сетевого клиента с помощью интерфейсаHttpClient
. - Добавлены
MarkerOptions.iconAnimationMode
иMarker.iconAnimationMode
для возможности задания режима анимации в маркерах. Режим может быть обычным или зацикленным. - Добавлены
SearchResult.actionWidgets
иSearchResult.mainWidgets
для динамической фильтрации уже полученной поисковой выдачи. Добавлен базовый классWidget
, представляющий виджет для фильтрации поисковой выдачи. - В
LocaleManager
добавлены методыlocales
иsystemLocales
и соответствующие каналы для получения всех локалей приложения и системных локалей. - Добавлена функция
createDefaultMaxTiltRestriction
для получения дефолтной зависимости ограничения угла наклона от масштаба. По умолчанию эта зависимость устанавливается при создании карты -BaseCamera.maxTiltRestriction
. - Добавлен метод
IndoorManager.setIndoorState
для управления отображением этажных планов на карте. - Добавлен интерфейс
LocationService
для удобного получения последнего значения геопозиции пользователя. - Добавлен новый UI-элемент
SearchLayout
, реализующий логику поисковой строки: поиск, предложения, отображение поисковой выдачи. - Добавлено поле
PackedMapState.cameraBehaviour
для сериализации режима слежения камеры. - В
PackageInfo
добавлено полеerror
- ошибка, произошедшая при попытке загрузки и/или установки пакета. - Добавлено поле
NavigationManager.alternativeRouteSelector
для выбора альтернативного маршрута. - Добавлено поле
Route.bicycleLanes
- признак наличия выделенной велополосы. - Добавлено значение
RoutePointKind.BICYCLE_LANE
- начало и конец велополосы. - Добавлен флаг
PedestrianRouteSearchOptions.avoidUnderpassesAndOverpasses
- избегать подземных и надземных переходов. - Добавлен метод
RouteMapObjectSource.replaceObject
для замены одного объекта маршрута в источнике на другой. - Добавлено поле
NavigationFollowController.mapLocationController
.MapLocationController
- контроллер для управления позиционированием карты в навигаторе. - Добавлено поле
NavigationFollowController.cameraBehaviour
для возможности менять режим слежения карты за маркером геопозиции. - Добавлено поле
ZoomFollowSettings.speedRangeToStyleZoomFreeRoamSequence
- последовательность интервалов скоростей и соответствующих им масштабов при ведении в режиме FreeRoam.
❗ Ломающие изменения
- Изменена работа с
FollowController
:- Методы
createRawMyLocationController
иcreateSmoothMyLocationController
удалены. Добавлен конструкторMyLocationController
для создания контроллера перемещения маркера геопозиции. - Теперь не нужно указывать источник направления, поэтому удалены значения
FollowBearing.SATELLITE
иFollowBearing.MAGNETIC
. Добавлено значениеFollowBearing.ON
для включения слежения: источник выбирается автоматически. - Удалено поле
FollowPosition.tilt
. Слежение за наклоном теперь нужно включать отдельно. В конструкторCameraBehaviour
добавлен новый параметрtilt
для слежения за наклоном. Добавлен новый конструкторCameraBehaviour
с параметромtilt
для включения слежения только за наклоном. - Удалены значения
FollowValue.SATELLITE_BEARING
,FollowValue.MAGNETIC_BEARING
иFollowValue.ACCURACY
. Вместо них добавено значениеFollowValue.bearing
с автоматическим выбором источника. - Из интерфейса
CustomFollowController
удалены методыsatelliteBearing
,magneticBearing
иaccuracy
. Вместо этого добавлен методCustomFollowController.bearing
. - Из
FollowController
удалены методыsetClock
,satelliteBearing
,magneticBearing
иaccuracy
. Вместо этого добавлены методыonAddedToMap
,onRemovedFromMap
иbearing
. - Удален канал
FollowController.nextTimestampChannel
. Вместо этого добавленFollowController.changedChannel
. - Изменена сигнатура метода
FollowController.updateValues
. - Удален контроллер
PlatformLocationFollowController
. Вместо него добавлены контроллерыBearingFollowController
иCoordinatesFollowController
для слежения за направлением карты и за координатами позиции карты, соответственно. - Изменен конструктор контроллера
StyleZoomFollowController
. Удален методStyleZoomFollowController.setAnimationDuration
. - Изменен конструктор контроллера
TiltFollowController
. Удалены методыTiltFollowController.setTilt
иTiltFollowController.setAnimationDuration
. - Изменены параметры метода
FollowController.setThresholds
на типизированные. - Удален класс
FollowControllerClock
. Тип параметра в методеFollowController.setClock
заменен на timestamp. TransitionType
удален. КонструкторMyLocationControlModel
не принимаетtransitionType
. ПолеCameraBehaviour.transitionType
удалено. ПараметрtransitionType
удален из конструктораCameraBehaviour
.MyLocationDirectionBehaviour
удален. Конструктор источника геопозицииMyLocationMapObjectSource
не принимаетdirectionBehaviour
. МетодMyLocationMapObjectSource.setDirectionBehaviour
удален.
- Методы
- Удалено поле
BaseCamera.styleZoomToTiltRelation
. - Класс
MagneticHeadingProvider
переименован вHeadingProvider
. - Метод
LocaleManager.overrideLocales
принимает теперь список структурLocale
с отдельными полямиlanguage
иregion
. - Из Map-сборки SDK удалены
PackageManager
иPackage
, что уменьшило размер продукта. - Метод
Voice.playWelcome
теперь возвращаетFuture
, который становится готовым, когда проигрывание сэмпла завершается. - Удалено поле
RoadSubtype.STAIRWAY
. Вместо него добавлены поляRoadSubtype.STAIRWAY_UP
иRoadSubtype.STAIRWAY_DOWN
для использования лестниц с явным направлением. - Удалено поле
NavigationFollowController.mapTiltController
. - Возвращается исключение при попытке стартовать навигатор в режиме ведения или симуляции с маршрутом на общественном транспорте.
- Отключено кэширование тайлов
FreeRoam
при навигации. MyLocationMapObjectSource
для навигатора устанавливается внутриNavigationView
.- В
MapOptions
удалены поляlightTheme
иdarkTheme
. Теперь для выставления темы нужно использовать классMapTheme
в методахMapOptions.setTheme
иMapView.setTheme
.
❗ Известные ошибки
- При частом обновлении динамических объектов (около 100 FPS) зависает карта.
🛠 Исправления
- Оптимизирована перерисовка кадров карты при любых изменениях.
- Исправлено отображение пробок на карте в зависимости от zoom-уровня.
- Исправлено неплавное обновление маркера геопозиции.
- Исправлена работа метода
SimpleClusterObject.setIcon
при первом вызове. - При получении снапшота карты методом
MapView.takeShapshot
теперь учитывается прогруженность карты - значениеloaded
вMap.dataLoadingState
. - Исправлена работа кластеризации через
MapObjectManager.withClustering
, если передать дробные значенияminZoom
иmaxZoom
. - Обновлен логотип 2GIS в копирайте на снапшотах карты.
- Теперь возвращается корректное исключение, если в карту загрузить битые стили.
- Исправлено отображение UI-элементов из
DefaultNavigationControls
в арабской локали. - При расчёте дистанции для проигрывания предварительной инструкции о манёвре учитывается полосность.
- При проигрывании финишной фразы в режиме навигатора учитывается пеший маршрут.
- Исправлена ошибка, при которой баблы полосности не отображают направление маршрута.
- Исправлено формирование баблов полосности, чтобы не учитывалось ограничение по скорости.
- Исправлено отображение баблов автобусной полосы, идущей прямо, со знаком "Въезд запрещен" для остального транспорта.
- Не убирается предложенный маршрут лучше с карты, если пользователь явно отказался переходить на него.
- Убирается с карты альтернативные маршруты, от развилки с которыми уже слежение уехало слишком далеко, даже если к ним всё ещё можно притянуться.
- Откидываются альтернативные маршруты, ответвляющиеся от основного маршрута в одной и той же точке и идущие в одну и ту же сторону.
- Предложение маршрута лучше отзывается в случае, когда после обновления пробочных данных маршрут лучше перестаёт быть таковым.
- Не озвучиваются предупреждения о камерах-муляжах.
- В
NavigationView
при отображении полного маршрута отображается только оставшаяся часть маршрута. - По умолчанию отключено кэширование тайлов
FreeRoam
при навигации для уменьшения запросов к бэкендам.
🗺 Изменения в стилях карты
- Добавлены стили светофоров.
- Добавлены иммерсивные модели деревьев и зданий.
- Поддержаны новые ветки Московского метро МЦД-3 и МЦД-4.
- Оптимизированы модели иммерсивных деревьев.
- Добавлена новая модель для отображения маркера текущего местоположения.
7.4.0 (2023-11-15)
🌟 Новые возможности
- Добавлены
MarkerOptions.iconAnimationMode
иMarker.iconAnimationMode
для возможности задания режима анимации в маркерах. Режим может быть обычным или зацикленным. - В
DGis.initialize
добавлен параметрplatformHttpClient
для задания пользовательской реализации сетевого клиента. Для переопределения сетевого клиента нужно сделать реализацию интерфейсаHttpClient
.
🛠 Исправления
- Исправлена работа метода
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)
🛠 Исправления
- Поддержана работа справочника с новым форматом ключей.
- Исправлено падение при изменении доступности GPS при использовании
DefaultLocationSource
. - Исправлен расчет оставшегося рабочего времени организации в
Directory.workStatus
при офлайн поиске. - Контрол
TUGC
в режимеFreeRoam
доступен только при добавленииRoadEventSource
на карту.
5.4.0 (2023-07-20)
🛠 Исправления
- Поддержана работа справочника с новым форматом ключей.
5.3.1 (2023-06-27)
🛠 Исправления
- Исправлено падение при изменении доступности GPS при использовании
DefaultLocationSource
.
5.3.0 (2023-06-19)
🌟 Новые возможности
- Появилась возможность задавать исключаемые области через
ExcludedArea
при поиске маршрутов.
🛠 Исправления
- Исправлено потенциальное падение при добавлении маркера на карту с подписью через
Marker
.
Миграция с версий 5.x на 7.x
Для всех типов Mobile SDK:
- Необходимо заново выгрузить стили.
- Методы
DgisSource.createOnlineDgisSource
иDgisSource.createOfflineDgisSource
удалены. Вместо них нужно использоватьDgisSource.createDgisSource
с дополнительным параметромDgisSourceWorkingMode
- режим работы карты. Сейчас доступно четыре режима работы:ONLINE
,OFFLINE
,HYBRID_ONLINE_FIRST
иHYBRID_OFFLINE_FIRST
. FollowController
теперь возвращаетStyleZoom
, а неZoom
.FollowValue.ZOOM
переименован вFollowValue.STYLE_ZOOM
.ZoomFollowController
переименован вStyleZoomFollowController
.ZoomToTiltRelation
переименован вStyleZoomToTiltRelation
.SpeedRangeToZoom
переименован вSpeedRangeToStyleZoom
.- Метод
Projection.screenToMap
теперь вместо исключения возвращает пустое значение, если точка находится за пределами карты. - Методы
BaseCamera.setPadding
иBaseCamera.setPositionPoint
удалены. EnumCameraPositionPointChangeBehaviour
также удален. ПоляBaseCamera.padding
иBaseCamera.positionPoint
теперь являются сеттерами. - Методы
Camera.animatedMoveStarted
иCamera.animatedMoveFinished
удалены. Вместо них можно использовать каналCamera.stateChannel
. - Каналы
IndoorControlModel.levelNames
иIndoorControlModel.activeLevelIndex
переименованы вIndoorControlModel.levelNamesChannel
иIndoorControlModel.activeLevelIndexChannel
соответственно. МетодIndoorControlModel.onLevelClicked
удален. МетодIndoorControlModel.isMarkedLevel
переименован вIndoorControlModel.isLevelMarked
.
Дополнительно для полной версии:
- Изменены названия в
ZoomFollowSettings
, чтобы лучше соответствовать назначению. - Метод
Model.applyBetterRoute
удален. Вместо него появился методModel.betterRouteResponse
и enumBetterRouteResponse
для работы с альтернативными маршрутами. - Удалено значение
State.FREE_ROAM
. Теперь для определения, что навигатор в режиме Free Roam, нужно смотреть на значениеRouteInfo.routeBuildOptions
- оно должно быть пустым.
7.0.0 (2023-06-16)
🌟 Новые возможности
- Добавлена возможность устанавливать Lottie-анимацию у маркера через
Marker.icon
. Добавлен методimageFromLottieJSON
. МетодimageFromAsset
поддерживает JSON-файл с Lottie-анимацией. - В
SearchResult
добавлено полеdynamicFilters
- динамические фильтры, которые можно дополнительно применить для поисковой выдачи. - В
DirectoryFilter
добавлено полеdynamic
для передачи динамических фильтров. - Добавлен метод
BaseCamera.maxTiltRestriction
для задания и получения функции зависимости максимального угла наклона камеры от стилевого zoom-уровня. - Добавлена возможность создать
MapObjectManager
с генерализацией объектов черезMapObjectManager.withGeneralization
. - Добавлен метод
Projection.screenToMapClipped
, который возвращает ближайшую точку карты к проекции указанной точки экрана. - В режиме навигатора теперь отображаются альтернативные маршруты, которые могут быть предложены как маршрут лучше.
Model.betterRouteChannel
— канал для оповещений о появлении альтернативного маршрута.Model.betterRouteResponse
— метод для подтверждения альтернативного маршрута. Маршруты настраиваются с помощьюNavigationManager.alternativeRoutesProviderSettings
. - Добавлен метод
Voice.playWelcome
для воспроизведения образца голоса в навигаторе. - В
RoutePointKind
добавлено больше типов для идентификации точечных объектов на маршруте. - Появилась возможность задавать исключаемые области при поиске маршрутов через
ExcludedArea
.
❗️ Ломающие изменения
- Методы
DgisSource.createOnlineDgisSource
иDgisSource.createOfflineDgisSource
удалены. Вместо них нужно использоватьDgisSource.createDgisSource
с дополнительным параметромDgisSourceWorkingMode
- режим работы карты. Сейчас доступно четыре режима работы:ONLINE
,OFFLINE
,HYBRID_ONLINE_FIRST
иHYBRID_OFFLINE_FIRST
. FollowController
теперь возвращаетStyleZoom
, а неZoom
.FollowValue.ZOOM
переименован вFollowValue.STYLE_ZOOM
.ZoomFollowController
переименован вStyleZoomFollowController
.ZoomToTiltRelation
переименован вStyleZoomToTiltRelation
.SpeedRangeToZoom
переименован вSpeedRangeToStyleZoom
.- Метод
Projection.screenToMap
теперь вместо исключения возвращает пустое значение, если точка находится за пределами карты. - Методы
BaseCamera.setPadding
иBaseCamera.setPositionPoint
удалены. EnumCameraPositionPointChangeBehaviour
также удален. ПоляBaseCamera.padding
иBaseCamera.positionPoint
теперь являются сеттерами. - Методы
Camera.animatedMoveStarted
иCamera.animatedMoveFinished
удалены. Вместо них можно использовать каналCamera.stateChannel
. - Каналы
IndoorControlModel.levelNames
иIndoorControlModel.activeLevelIndex
переименованы вIndoorControlModel.levelNamesChannel
иIndoorControlModel.activeLevelIndexChannel
соответственно. МетодIndoorControlModel.onLevelClicked
удален. МетодIndoorControlModel.isMarkedLevel
переименован вIndoorControlModel.isLevelMarked
. - Изменены названия в
ZoomFollowSettings
, чтобы лучше соответствовать назначению. - Метод
Model.applyBetterRoute
удален. Вместо него добавлен методModel.betterRouteResponse
и enumBetterRouteResponse
для работы с альтернативными маршрутами. - Удалено значение
State.FREE_ROAM
. Теперь для определения, что навигатор в режиме Free Roam, нужно смотреть на значениеRouteInfo.routeBuildOptions
- оно должно быть пустым.
🛠 Исправления
- Уменьшен размер Full сборки за счет уменьшения зависимости Offline справочника от других модулей.
- Исправлены утечки памяти при разрушении карты с активным перелётом.
- Оптимизировали использование одного источника данных
DgisSource
, добавленного в 2 и более объектовMap
. - Исправили работу канала
Map.dataLoadingStateChannel
, который теперь учитывает любую работу с картой (добавление объектов, изменение темы, добавление источников данных и т.д.). - В случаях, когда точка позиции камеры расположена ближе к нижнему краю экрана, значение максимального угла наклона камеры может быть уменьшено.
- Теперь маршрут не будет отображаться на карте в режиме навигации до появления позиции на нем.
- Исправлен возврат в режим слежения при работе навигатора по умолчанию.
🗺 Изменения в стилях карты
- Добавлена поддержка иконки
автобус + знак "Въезд запрещен"
в баблах полосности. - Установлены цвета для градиента линии неактивного маршрута.
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.1 (2022-12-08)
🛠 Исправления
- Исправлена проблема, при которой после завершения навигации оставался периодический перелет к текущему местоположению, если камера находилась в состоянии покоя.
5.0.0 (2022-12-06)
🌟 Новые возможности
- Добавлена пешая навигация в здании. Включается, когда маршрут построен с учетом этажей (с флагом
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
. - Появилась возможность задавать идентификатор для запросов в WebAPI для On-Premise ключей.
- Обновлен логотип 2GIS в копирайте на карте.
- В
DefaultLocationSource
добавлено свойствоlastPosition
- последнее известное местоположение пользователя. - Реализованы методы
MapView.addObjectTappedCallback
,MapView.addObjectLongTouchCallback
,MapView.removeObjectTappedCallback
,MapView.removeLongTouchCallback
для добавления и удаленияMapObjectTappedCallback
- обработчиков тапа и долгого нажатия на карту.
❗️ Ломающие изменения
- Изменена сигнатура методов
zoomOutToFit
иcalcPosition
.zoomOutToFit
теперь принимает только камеру и геометрию. ВcalcPosition
теперь помимо камеры и геометрии можно передать активную область, угол наклона и поворота карты, поэтому теперь необязательно предварительно настраивать камеру для расчета позиции. - Удален
RoutePosition
- избыточный класс, вместо него используетсяRoutePoint
. - Удалено
Model.cameraProgressChannel
, вместо него необходимо использовать классCameraNotifier
. Traffic.durations
теперь имеет типMillisecondsRouteAttribute
вместоSecondsRouteLongAttribute
и большую точность значений.Route.obstacles
теперь имеет типObstacleInfoRouteAttribute
и помимо типа препятствия содержит дополнительную информацию.- Конструктор
ZoomFollowController
теперь принимает параметромMap
. - В
MapView
был удален методshowOsmCopyright
.
🛠 Исправления
- Увеличена точность отображения оставшегося времени в пути в навигаторе.
- В случае пустого результата
OfflineSearchManager
не кидает исключение, а возвращает пустой список. - Более корректное вычисление точки расхождения между основным маршрутом и маршрутом лучше.
- Исправлено определение локали в поисковых запросах. Теперь регион определяется через область интереса или текущее местоположение пользователя.
- Добавлена проверка на добавление пользовательских маркеров с пустым изображением.
- Исправлена проблема, при которой маршрут лучше исчезал вместе с панелью выбора маршрута по истечению таймаута.
🗺 Изменения в стилях карты
- У пешего маршрута (группа 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.x
Для всех типов Mobile SDK:
- Изменена сигнатура методов
zoomOutToFit
иcalcPosition
.zoomOutToFit
теперь принимает только камеру и геометрию. ВcalcPosition
теперь помимо камеры и геометрии можно передать активную область, угол наклона и поворота карты, поэтому теперь необязательно предварительно настраивать камеру для расчета позиции. - Конструктор
ZoomFollowController
теперь принимает параметромMap
. - В
MapView
был удален методshowOsmCopyright
.
Дополнительно для полной версии:
- Удален
RoutePosition
- избыточный класс, вместо него используетсяRoutePoint
. - Удалено
Model.cameraProgressChannel
, вместо него необходимо использовать классCameraNotifier
. Traffic.durations
теперь имеет типMillisecondsRouteAttribute
вместоSecondsRouteLongAttribute
и большую точность значений.Route.obstacles
теперь имеет типObstacleInfoRouteAttribute
и помимо типа препятствия содержит дополнительную информацию.