Релизы
12.9.0 (2025-10-22)
🌟 Новые возможности
- StorageOptions — класс параметров хранилища офлайн-данных. Передаётся в DGis для указания пути к корневому каталогу основного хранилища загрузок.
Миграция с версий 12.x на 13.х
Для версий Full и Map
-
Повторно выгрузите стили: исправлены ошибки отображения пользовательских и иммерсивных объектов.
-
Обновлены все слои групп
Roadsдля отображения иммерсивных дорог в основном режиме карты. -
Добавлена группа
Traffic v13.0.0для отображения новых цветов тайлов с пробками. -
Добавлена группа
Car route line v13.0.0для отображения автомобильных маршрутов на иммерсивных дорогах. -
Теперь для отслеживания изменений состояний камеры используется единый канал BaseCamera.changed вместо отдельных каналов для каждого свойства. Заменены подписки и добавлена дополнительная фильтрация причин изменений.
-
Изменён способ создания некоторых классов:
- Удалена функция
getSystemMemoryManager. Чтобы получить объект для управления системной памятью, используйте метод SystemMemoryManager.instance(). - Удалён конструктор SearchHistory. Чтобы получить объект истории поиска, используйте метод SearchHistory.instance().
- Удалён конструктор RoadEventManager. Чтобы получить объект для работы с дорожными событиями, используйте метод RoadEventManager.instance().
- Удалена функция
getHttpCacheManager. Чтобы получить объект для управления HTTP-кешем, используйте метод HttpCacheManager.get(). - Удалена функция
getLocaleManager. Чтобы получить объект для управления локалями приложения, используйте метод LocaleManager.instance(). - Удалён конструктор TrafficCollector. Чтобы получить объект для управления сервисом сбора информации о дорожном движении, используйте метод TrafficCollector.instance().
- Удалена функция
getAudioSettings. Чтобы получить объект для управления звуком приложения, используйте метод AudioSettings.get(). - Удалена функция
getPackageManager. Чтобы получить объект для работы с пакетами, используйте метод PackageManager.instance(). - Удалена функция
getTerritoryManager. Чтобы получить объект для работы с территориями, используйте метод TerritoryManager.instance(). - Удалена функция
getTerritoriesAlongRouteProvider. Чтобы получить объект для извлечения списка территорий вдоль маршрута, используйте конструктор TerritoriesAlongRouteProvider. - Удалена функция
getVoiceManager. Чтобы получить объект для управления голосовыми пакетами, используйте метод VoiceManager.instance().
- Удалена функция
-
Удалён класс
EventsProcessingSettings. -
Объект
Gestureпереименован в TransformGesture. -
Объект
ScalingSettingsпереименован в ScalingRecognizeSettings. -
Объект
RotationSettingsпереименован в RotationRecognizeSettings. -
Объект
MultiTouchShiftSettingsпереименован в MultiTouchRecognizeSettings. -
Объект
TiltSettingsпереименован в TiltRecognizeSettings. -
GestureManager.scalingSettings, GestureManager.rotationSettings, GestureManager.multitouchShiftSettings и GestureManager.tiltSettings теперь возвращают объекты с типами ScalingGestureSettings, RotationGestureSettings, MultiTouchGestureSettings и TiltGestureSettings соответственно.
-
Класс Color для представления цвета перенесён из пакета
ru.dgis.sdk.map. -
Класс ScreenDistance перенесён из пакета
ru.dgis.sdk.map. -
Класс ScreenPoint перенесён из пакета
ru.dgis.sdk.map. -
Класс ScreenShift перенесён из пакета
ru.dgis.sdk.map. -
Свойство
buildingLevelsдля получения этажных планов удалено из DirectoryObject. -
Свойство DirectoryObject.buildingInfo теперь опциональное.
-
Свойство BuildingInfo.buildingId теперь обязательное и не может быть пустым.
-
Свойство LevelInfo.id теперь опциональное.
-
Изменён тип свойства PublicTransportDirectoryRouteInfo.color с
Int?наColor?. -
Метод SearchQueryBuilder.setGeoPoint() теперь принимает опциональный тип значения.
-
Метод SearchQueryBuilder.setRadius() теперь принимает опциональный тип значения.
-
Удалены функция
getRoadMacroGraphи классRoadMacroGraph. Теперь для построения офлайн-маршрутов между соседними регионами достаточно скачать пакеты нужных регионов. -
Удалены класс для настройки позиции бабла с полосами на маршруте (
LanesCalloutMapPositionиRouteMapObject.lanesCalloutPositions) и свойство в RouteMapObject. -
Переименован класс
UIntRouteLongAttributeв DoubleRouteLongAttribute. -
Изменён тип свойства Route.trafficLights с VoidRouteAttribute на StringRouteAttribute.
-
Добавлен новый вид транспорта
MOTORCYCLE(мотоцикл) в TransportType. -
Добавлены параметры для настройки уровня масштабирования для стиля в конструктор SpeedRangeToStyleZoom.
-
Добавлены значения для пандусов
RAMP_DOWN,RAMP_UP,SMOOTH_RAMP_DOWNиSMOOTH_RAMP_UPв RoadSubtype. -
Добавлены новые значения позиций и ориентиров в CarInstructionCrossroadLandmark.
-
Добавлены значения цветов
DEEP_GREENиORANGEв TrafficSpeedColor. -
Добавлен флаг
CROSSINGдля отображения начала и конца переправы на маршруте в RouteMapObjectDisplayFlag. -
Добавлен новый тип точки маршрута
CROSSING(начало и конец переправы) в RoutePointKind. -
Добавлены значения для оповещений о событиях
BETTER_ROUTE(«маршрут лучше») иHUMPS(искусственные дорожные неровности) в SoundCategory.
13.0.0 (2025-10-13)
🌟 Новые возможности
- DgisSource.createImmersiveDgisSource — источник иммерсивных данных.
- BaseCamera.changed — канал для уведомлений об изменениях состояния камеры.
- CameraChange — класс с информацией об изменениях состояния камеры.
- CameraChangeReason — причины изменения состояния камеры.
- LevelInfo.linkedLevelIds — идентификаторы связанных этажных планов.
- BriefRoadEvent.trustworthy — флаг достоверности дорожного события.
- IndoorBuilding.mode и IndoorBuilding.modeChannel — режим отображения зданий с этажными планами.
- IndoorBuilding.linkedWith() — метод для проверки связи между зданиями с этажными планами.
- RoadEvent.elevation — высота дорожного события.
- BranchesInfo и DirectoryObject.branchesInfo — информация о связанных организациях.
- FloorsInfo и BuildingInfo.floorsInfo — информация о количестве этажей в здании.
- SearchManager.search() — метод для поиска объектов справочника по поисковым подсказкам SuggestQuery и настройкам.
- SearchSettings — настройки поиска объектов справочника.
- SearchHistoryKeyStrategy и SearchHistory.setKeyStrategy() — метод для установки политики создания ключей для элементов истории поиска.
- IncompleteTextHandler.searchQuery — свойство поискового запроса.
- StorageOptions — класс параметров хранилища офлайн-данных. Передаётся в DGis для указания пути к корневому каталогу основного хранилища загрузок.
- RouteCamera.mobility — флаг, указывающий на мобильность дорожной камеры.
- ObstacleInfo.objectId — идентификатор объекта препятствия на маршруте.
- BicycleRouteSearchOptions.avoidUnpavedRoads — флаг для избегания грунтовых дорог на велосипедных маршрутах.
- PedestrianRouteSearchOptions.avoidUnpavedRoads — флаг для избегания грунтовых дорог на пешеходных маршрутах.
- ScooterRouteSearchOptions.avoidUnpavedRoads — флаг для избегания грунтовых дорог на маршрутах на самокате.
- DataPrefetcher и NavigationManager.dataPrefetcher — класс для предварительной загрузки тайлов карты на маршруте.
- FinishDetector и NavigationManager.finishDetector — класс для управления контроллером завершения маршрута.
- TrafficJamDetector и NavigationManager.trafficJamDetector — класс для обнаружения пробок на маршруте.
- MapLocationController.userControlOverMap — флаг для применения пользовательских значений уровня масштабирования и наклона карты.
- CrossingType и Route.crossingTypes — типы переправ на маршруте.
- MotorcycleBriefRouteInfo — класс с основной информацией о маршруте на мотоцикле.
- MotorcycleBriefRouteInfoTrafficSpeed — скорости движения для маршрутов на мотоцикле.
- MotorcycleRouteSearchOptions — класс с параметрами поиска маршрута на мотоцикле.
- PublicTransportInfo.routeInfos — описания маршрутов общественного транспорта.
- PublicTransportRouteInfo — класс с информацией о маршруте общественного транспорта.
- PublicTransportCostInfo — класс с информацией о стоимости проезда на общественном транспорте.
- RouteTollPaymentPointInfo и Route.tollPaymentPointInfos — класс с информацией о пунктах оплаты проезда по платной дороге.
- RouteTollPaymentPointType — тип оплаты проезда по платной дороге.
- TraversalType — направление кольцевой линии общественного транспорта.
- Package.pause() — метод для постановки на паузу установки или обновления пакета.
- Package.install(InstallFallback) — метод для установки или обновления пакета с обработчиком ошибок.
- InstallFallback — интерфейс для задания поведения при ошибках установки или обновления пакета.
- DefaultInstallFallback — фабрика для создания стратегий обработки ошибок установки и обновления пакета.
- DefaultInstallFallback.noOperation() — метод для создания
InstallFallback, не выполняющего операций. - DefaultInstallFallback.retryOnError() — метод для создания
InstallFallback, который вызывает повторную установку при ошибке загрузки пакета. - VoiceManager.defaultVoice — свойство для получения голосового пакета на основании списка локалей.
❗ Изменения, влияющие на обратную совместимость
-
Минимальная поддерживаемая версия (API Level) обновлена с 21 до 23.
-
Теперь для отслеживания изменений состояний камеры используется единый канал BaseCamera.changed вместо отдельных каналов для каждого свойства. Заменены подписки и добавлена дополнительная фильтрация причин изменений.
-
Изменён способ создания некоторых классов:
- Удалена функция
getSystemMemoryManager. Чтобы получить объект для управления системной памятью, используйте метод SystemMemoryManager.instance(). - Удалён конструктор SearchHistory. Чтобы получить объект истории поиска, используйте метод SearchHistory.instance().
- Удалён конструктор RoadEventManager. Чтобы получить объект для работы с дорожными событиями, используйте метод RoadEventManager.instance().
- Удалена функция
getHttpCacheManager. Чтобы получить объект для управления HTTP-кешем, используйте метод HttpCacheManager.get(). - Удалена функция
getLocaleManager. Чтобы получить объект для управления локалями приложения, используйте метод LocaleManager.instance(). - Удалён конструктор TrafficCollector. Чтобы получить объект для управления сервисом сбора информации о дорожном движении, используйте метод TrafficCollector.instance().
- Удалена функция
getAudioSettings. Чтобы получить объект для управления звуком приложения, используйте метод AudioSettings.get(). - Удалена функция
getPackageManager. Чтобы получить объект для работы с пакетами, используйте метод PackageManager.instance(). - Удалена функция
getTerritoryManager. Чтобы получить объект для работы с территориями, используйте метод TerritoryManager.instance(). - Удалена функция
getTerritoriesAlongRouteProvider. Чтобы получить объект для извлечения списка территорий вдоль маршрута, используйте конструктор TerritoriesAlongRouteProvider. - Удалена функция
getVoiceManager. Чтобы получить объект для управления голосовыми пакетами, используйте метод VoiceManager.instance().
- Удалена функция
-
Удалён класс
EventsProcessingSettings. -
Объект
Gestureпереименован в TransformGesture. -
Объект
ScalingSettingsпереименован в ScalingRecognizeSettings. -
Объект
RotationSettingsпереименован в RotationRecognizeSettings. -
Объект
MultiTouchShiftSettingsпереименован в MultiTouchRecognizeSettings. -
Объект
TiltSettingsпереименован в TiltRecognizeSettings. -
GestureManager.scalingSettings, GestureManager.rotationSettings, GestureManager.multitouchShiftSettings и GestureManager.tiltSettings теперь возвращают объекты с типами ScalingGestureSettings, RotationGestureSettings, MultiTouchGestureSettings и TiltGestureSettings соответственно.
-
Класс Color для представления цвета перенесён из пакета
ru.dgis.sdk.map. -
Класс ScreenDistance перенесён из пакета
ru.dgis.sdk.map. -
Класс ScreenPoint перенесён из пакета
ru.dgis.sdk.map. -
Класс ScreenShift перенесён из пакета
ru.dgis.sdk.map. -
Свойство
buildingLevelsдля получения этажных планов удалено из DirectoryObject. -
Свойство DirectoryObject.buildingInfo теперь опциональное.
-
Свойство BuildingInfo.buildingId теперь обязательное и не может быть пустым.
-
Свойство LevelInfo.id теперь опциональное.
-
Изменён тип свойства PublicTransportDirectoryRouteInfo.color с
Int?наColor?. -
Метод SearchQueryBuilder.setGeoPoint() теперь принимает опциональный тип значения.
-
Метод SearchQueryBuilder.setRadius() теперь принимает опциональный тип значения.
-
Удалены функция
getRoadMacroGraphи классRoadMacroGraph. Теперь для построения офлайн-маршрутов между соседними регионами достаточно скачать пакеты нужных регионов. -
Удалены класс для настройки позиции бабла с полосами на маршруте (
LanesCalloutMapPositionиRouteMapObject.lanesCalloutPositions) и свойство в RouteMapObject. -
Переименован класс
UIntRouteLongAttributeв DoubleRouteLongAttribute. -
Изменён тип свойства Route.trafficLights с VoidRouteAttribute на StringRouteAttribute.
-
Добавлен новый вид транспорта
MOTORCYCLE(мотоцикл) в TransportType. -
Добавлены параметры для настройки уровня масштабирования для стиля в конструктор SpeedRangeToStyleZoom.
-
Добавлены значения для пандусов
RAMP_DOWN,RAMP_UP,SMOOTH_RAMP_DOWNиSMOOTH_RAMP_UPв RoadSubtype. -
Добавлены новые значения позиций и ориентиров в CarInstructionCrossroadLandmark.
-
Добавлены значения цветов
DEEP_GREENиORANGEв TrafficSpeedColor. -
Добавлен флаг
CROSSINGдля отображения начала и конца переправы на маршруте в RouteMapObjectDisplayFlag. -
Добавлен новый тип точки маршрута
CROSSING(начало и конец переправы) в RoutePointKind. -
Добавлены значения для оповещений о событиях
BETTER_ROUTE(«маршрут лучше») иHUMPS(искусственные дорожные неровности) в SoundCategory.
🛠 Исправления
-
Исправлена ошибка, из-за которой падало приложение при работе SearchManager.createSmartManager(), если не было скачанных территорий.
-
Добавлен фильтр для скрытия этажей зданий на карте, если их площадь на экране меньше определённого порога.
-
Исправлены звуковые оповещения в навигаторе:
- Исправлена ошибка, из-за которой не озвучивалось предупреждение о камере «в спину».
- Исправлена ошибка, из-за которой не озвучивались промофразы (при наличии корректного голосового пакета).
- Добавлены звуковые оповещения о лестницах на маршруте.
- Исправлена ошибка, при которой камеры контроля перекрёстка озвучивались как камеры контроля скорости.
- Добавлены звуковые оповещения о перестроении маршрутов для велосипедов и самокатов.
-
Исправлены ошибки в работе навигатора при проблемах с GPS-сигналом:
- Исправлена ошибка перелёта маркера текущей геопозиции при работе детектора слабого GPS-сигнала.
- Исправлены ошибки, возникавшие при приближении пользователя к точке конца маршрута при нестабильном GPS-сигнале.
- Добавлено отключение детектирования схода с маршрута при низкой точности GPS-сигнала.
- Теперь при резком снижении точности GPS-сигнала во время работы навигатора геопозиция пользователя не переносится в другое место на карте.
-
Исправлены проблемы в работе навигатора:
- Исправлена проблема, из-за которой на экране поиска маршрута не отображался бабл с информацией о времени и длине маршрута, если у одного из маршрутов отсутствовали уникальные отрезки.
- Исправлена проблема, из-за которой в бабле альтернативного маршрута не обновлялась разница во времени движения, если при использовании навигатора пользователь не двигался.
- Удалены названия съездов в баблах, если не указано направление движения или съезд ведёт к объекту с типом «аэропорт».
- Исправлена проблема, из-за которой иконки дорожных событий не реагировали на нажатия.
- Добавлена поддержка отображения и цветовой индикации пробок на грунтовых дорогах.
- Исправлено дублирование иконок МЦК, МЦД, Аэроэкспресса и электричек в бабле маршрута с пересадками.
- Исправлено некорректное отображение линии маршрута на перекрёстках.
- Удалено отображение дополнительной иконки с полосами движения для камер, которые фиксируют непредоставление преимущества в движении пешеходам.
- Исправлена ошибка притяжки геопозиции пользователя к маршруту при возврате на маршрут.
- Исправлена ошибка, при которой падало приложение при перестроении пешеходного маршрута в режиме ведения по маршруту.
- Исправлено поведение, при котором дополнительные иконки отображались на маршруте после истечения срока действия дорожного события.
- Изменена логика отображения дополнительных иконок с полосами движения для подтверждённых дорожных событий.
- Добавлено ограничение, при котором при перестроении маршрута в него не включаются платные дороги, если пользователь выбрал проезд только по бесплатным дорогам.
- Добавлено отображение уведомлений о лестницах на панели с предполагаемым временем маршрута.
- Теперь навигатор продолжает вести пользователя по маршруту и перестраивает его при необходимости, даже если была закрыта финишная панель (с кнопкой Завершить маршрут).
- Изменена логика фильтрации полос: полосы, разрешающие движение прямо, не исключаются из баблов с полосами на маршруте.
- Добавлена визуализация мигания пробок на маршруте при скорости 80–90 км/ч.
🗺 Изменения в стилях карты
- Повторно выгрузите стили: исправлены ошибки отображения пользовательских и иммерсивных объектов.
- Обновлены все слои групп
Roadsдля отображения иммерсивных дорог в основном режиме карты. - Добавлена группа
Traffic v13.0.0для отображения новых цветов тайлов с пробками. - Добавлена группа
Car route line v13.0.0для отображения автомобильных маршрутов на иммерсивных дорогах.
12.8.1 (2025-08-26)
🌟 Новые возможности
- Теперь SDK поддерживает использование Dynamic Feature Delivery. Важно: если вы используете стандартный способ инициализации SDK (добавляете файл с ключом доступа в
assetsприложения), ключ должен находиться вassetsмодуляfeature.
🛠 Исправления
- Исправлены проблемы с загрузкой нативной библиотеки (формат
.so), которые приводили к ошибкеUnsatisfiedLinkErrorв некоторых сессиях.
12.8.0 (2025-08-14)
🌟 Новые возможности
- Добавлена поддержка армянского языка на карте, в справочнике и при построении маршрутов. Также добавлены голосовые пакеты уведомлений на армянском языке.
- В TrafficRouter добавлена возможность задавать тип поисковика маршрутов (онлайн, офлайн или гибрид) с помощью RouterType.
- В NavigationManager и RouteEditor добавлена возможность указывать поисковик маршрутов (TrafficRouter).
🛠 Исправления
- Добавлена опция линковщика для установки размера страницы памяти 16 КБ при сборке библиотеки.
- Данные о пробках через источник TrafficSource теперь не запрашиваются и не обновляются в фоновом режиме приложения.
- Исправлена утечка памяти в SearchLayout, которая происходила при смене конфигурации устройства.
12.7.2 (2025-06-20)
🌟 Новые возможности
- DirectoryObject.platformIds — информация об идентификаторах платформ общественного транспорта в объекте справочника.
- EntranceInfo.entranceNumber — номер входа на станцию общественного транспорта.
🛠 Исправления
- DirectoryObject.routeInfos теперь возвращает корректную информацию о маршрутах, проходящих через определённую платформу общественного транспорта.
- DirectoryObject.entrances теперь возвращает корректную информацию о входах в метро.
12.7.0 (2025-06-03)
🌟 Новые возможности
- DirectoryObject.routeInfos — информация о маршрутах общественного транспорта в объекте справочника.
- ItemMarkerInfo.tradeLicense — информация о торговой лицензии организации в маркере.
- SearchResult.nearbyRequested — признак в результатах поиска, что при поиске были запрошены объекты поблизости.
- TrafficRoute.routeTollPaymentInfos — информация о стоимости проезда по платным участкам маршрута.
- RoadMacroGraph — пакет глобального дорожного графа будет удалён в следующих версиях. Вы можете строить маршруты между регионами на основе скачанных офлайн-данных.
🗺 Изменения в стилях карты
- Повторно выгрузите стили: в навигаторе исправлено отображение иммерсивных дорог и тумана.
12.6.3 (2025-05-13)
🛠 Исправления
-
Оптимизирована работа TrafficSource:
- Тайлы с пробками запрашиваются при изменении масштаба карты и по таймеру.
- Уровень пробок в баллах обновляется при смене региона и по таймеру.
-
Улучшена производительность карты при добавлении полигонов с большим количеством вершин через MapObjectManager.
12.6.2 (2025-04-23)
🛠 Исправления
- Исправлено отображение динамических объектов, добавленных через MapObjectManager, на некоторых устройствах Huawei.
12.6.0 (2025-04-17)
🌟 Новые возможности
- В источник геопозиции DefaultLocationSource добавлена возможность настроить использование сервиса Radar API для геопозиционирования устройства по точкам доступа Wi-Fi и сотовым вышкам. Настроить использование Radar API можно через RadarApiSettings. Подробнее см. в разделе Использование Radar API.
- TextStyle.suppressOnOverlap — опция для скрытия текста подписи маркера при пересечении с другими объектами.
🛠 Исправления
- Исправлено обновление генерализации при изменении атрибутов объектов, добавленных через метод MapObjectManager.withGeneralization.
- Исправлена ошибка, при которой приложение падало при логировании сетевых запросов.
12.5.0 (2025-03-25)
🌟 Новые возможности
- SearchQueryBuilder.setLocale — метод для задания локали, в которой выполняется поисковый запрос.
- DirectoryObject.group — объединение объектов разного типа в одной карточке. Например, карточка здания суда содержит информацию о здании как геообъекте и о суде как организации в здании.
- SearchQueryWithInfo.rubrics — список рубрик, по которым производится запрос.
- PackedSearchQuery.locale — локаль для поискового запроса.
🛠 Исправления
- Исправлена ошибка, при которой маркер местоположения, добавленный через MyLocationMapObjectSource, исчезал при первом перелёте камеры.
- Исправлено отображение информации о маршруте на карте при направлении текста справа налево (RTL) для источника данных RouteEditorSource.
- Изменены настройки кеширования данных из источника на маршруте. Теперь данные кешируются на расстоянии 4000 метров впереди от текущей позиции на маршруте вместо 20000.
🗺 Изменения в стилях карты
- Следует заново выгрузить стили: исправлено отображение информации о маршруте на карте при направлении текста справа налево.
12.4.3 (2025-02-19)
🌟 Новые возможности
- Projection.distanceOnMap — метод для вычисления расстояния между точками на карте, которые соответствуют указанным точкам на экране.
- Projection.distanceOnScreen — метод для вычисления расстояния между точками на экране, которые соответствуют указанным точкам на карте.
🛠 Исправления
- Исправлено отображение окружности на карте при добавлении объекта Circle в MapObjectManager.withClustering и MapObjectManager.withGeneralization.
12.4.0 (2025-01-30)
🌟 Новые возможности
- SpeechRecognizer и DefaultSpeechRecognizer — возможность запускать распознавание речи и обрабатывать результаты через функции обратного вызова.
- Map.sublayerAttributes — возможность переопределения атрибутов конкретного слоя карты.
- SearchHistory — класс для работы с историей поисковых запросов: чтения, добавления и удаления записей с информацией о результате работы поиска и поисковых подсказках.
- SearchQueryBuilder.fromOrgId — метод для формирования поискового запроса по идентификатору организации.
- SearchQueryBuilder.fromBuildingId — метод для формирования поискового запроса по идентификатору здания.
- SearchQueryBuilder.fromGeoPoint — метод для формирования поискового запроса c центром области поиска.
- SearchQueryBuilder.setGeoPoint и SearchQueryBuilder.setRadius — методы для установки центра области поиска и радиуса при формировании поискового запроса.
- DirectoryObject.orgInfo — информация об организации в объекте справочника.
- MyLocationMapObject.setModelData — метод для установки 3D-модели маркера геопозиции.
- BaseCamera.viewPoint — возможность изменения точки обзора камеры относительно размера области видимости карты.
- AnimationSettings.animationName — возможность переключения анимации 3D-модели по названию.
- Добавлена инструкция по работе с UI-элементами через Android Compose.
- Добавлена инструкция по управлению стилями карты.
🛠 Исправления
- Теперь положение 3D-модели совпадает с направлением камеры, если значение угла поворота не задано в ModelMapObject.mapDirection.
- Исправлена некорректная установка атрибутов для генерализуемых объектов, добавленных на карту через MapObjectManager.withClustering. Теперь изменение атрибутов объектов на определённом zoom-уровне распространяется на все уровни.
- Исправлена работа атрибута для управления видимостью объекта на карте SimpleMapObject.isVisible при генерализации и кластеризации объектов.
🗺 Изменения в стилях карты
- Исправлен приоритет обработки нажатий между маркером геопозиции и зданиями на карте.
12.3.0 (2024-12-18)
🌟 Новые возможности
- ModelMapObject и ModelMapObjectOptions — классы для создания и настройки динамических объектов с 3D-моделями. Вы можете добавить данные объекты на карту с помощью MapObjectManager.
- ModelData и методы createModelData(context, loader), createModelData(context, data), modelDataFromAsset(context, assetName) — возможность загрузки пользовательских 3D-моделей.
- Теперь при добавлении TrafficSource на карту тайлы с пробками запрашиваются на основе области видимости экрана независимо от обновления конфигурационного файла SDK.
- DirectoryObject.rubricIds — идентификаторы рубрик в объекте справочника.
- Добавлена возможность отслеживать изменения в стабильной (AndroidAutoMapSession.onStableAreaChanged) и видимой (AndroidAutoMapSession.onVisibleAreaChanged) области карты в Android Auto.
- FreeRoamSelector и NavigationManager.freeRoamSelector — возможность включения и выключения перевода навигатора в режим
FreeRoamпри слишком долгом перестроении маршрута. - RouteRebuilder и NavigationManager.routeRebuilder — возможность включения и выключения поиска нового маршрута при сходе с текущего маршрута.
- TrafficRouter.requestRoute — возможность поиска маршрута по ранее сериализованным параметрам.
🛠 Исправления
- Исправлено дублирование числа филиалов для категорий организаций в Suggest.subtitle.
- Исправлена ошибка получения координат объекта при обработке клика на Marker, добавленный на карту перед первичной загрузкой карты.
- Исправлено отображение 3D-модели маркера геопозиции навигатора для всех типов маршрута, кроме пешеходного. Для пешеходного маршрута отображается обычная модель маркера геопозиции.
- Обновлена конфигурация навигатора для улучшения работы при плохом сигнале GPS.
🗺 Изменения в стилях карты
- Добавлен слой для отображения динамических 3D-моделей.
12.2.1 (2024-12-03)
🛠 Исправления
- Исправлены ошибки, которые приводили к снижению производительности при отображении большого количества объектов на карте.
12.2.0 (2024-11-15)
🌟 Новые возможности
- AnimationSettings — класс для настройки анимаций объектов карты. Применяется для объектов с типами слоя
3D modelиDirectional model. - MyLocationMapObject.animationSettings — возможность настройки анимаций для маркера геопозиции, если в качестве модели в стилях загружена анимированная модель.
- MyLocationMapObject.objectAttributes — возможность настройки атрибутов стилей для маркера геопозиции. Возможные значения атрибутов можно увидеть в стилях для соответствующего слоя.
- RoadEventMapObject.animationSettings — возможность настройки анимаций для дорожных событий, если в качестве модели в стилях загружена анимированная модель.
- RoadEvent.id — идентификатор дорожного события.
- ParkingControlModel — модель для удобного переключения видимости парковок на карте.
- ItemMarkerInfo.rubricIds — идентификаторы рубрик, к которым относится объект маркера.
- TextHorizontalAlignment — настройка для выравнивания надписи по горизонтали в Marker через TextStyle.
- RouteMapObjectsProvider и NavigationManager.routeMapObjectsProvider — класс для получения объектов маршрута на карте.
- RouteMapObject.roadEventObjects — дорожные события на карте для соответствующего маршрута.
- MyLocationMapObjectSourceProvider и NavigationManager.myLocationMapObjectSourceProvider — класс для получения источника маркера геопозиции в навигаторе.
🛠 Исправления
- Исправлен ряд ошибок для корректного отображения карты в Android Auto.
- Доработан механизм получения названия объекта маркера ItemMarkerInfo.title. Теперь учитывается, что маркер может быть без названия.
- Исправлена потенциальная проблема при инициализации карты, когда стиль устанавливался раньше, чем завершался процесс инициализации.
- Исправлено потенциальное зависание в MapObjectManager при частом добавлении и удалении объектов через метод MapObjectManager.removeAndAddObjects.
- Исправлена ошибка, при которой для некоторых регионов не работало отображение дорожных событий на карте.
- Исправлено отображение стрелок маршрута относительно иммерсивных дорог реальной ширины в режиме навигатора.
- Исправлена потенциальная проблема, при которой не отображались баблы полосности на маршруте в режиме навигатора.
🗺 Изменения в стилях карты
- Исправлены ошибки в стилях при отображении маркера геопозиции в режиме навигатора с иммерсивными дорогами реальной ширины.
- Исправлены ошибки в стилях при отображении этажных планов зданий.
10.8.0 (2024-11-02)
🛠 Исправления
- Исправлено потенциальное зависание в MapObjectManager при частом добавлении и удалении объектов через метод MapObjectManager.removeAndAddObjects.
- Исправлена ошибка, при которой приложение падало при логировании сетевых запросов.
- Исправлена ошибка, при которой для некоторых регионов не работало отображение дорожных событий на карте.
12.1.0 (2024-09-24)
🌟 Новые возможности
- ItemMarkerInfo.title — название объекта маркера.
- AndroidAutoMapSession.onSurfaceAvailable и AndroidAutoMapSession.onSurfaceDestroyed — методы для предоставления пользовательского объекта
Surfaceв Android Auto для отрисовки дополнительного контента. - Отображение копирайта в Android Auto.
- DirectoryObject.chargingStation — информация о станциях зарядки электромобилей в объекте справочника.
🛠 Исправления
- DgisSource.createDgisSource теперь возвращает гибридный источник тайлов карты по умолчанию в
Fullверсии SDK. - Различные улучшения работы иммерсивных дорог реальной ширины в режиме навигатора.
🗺 Изменения в стилях карты
- Исправлены ошибки в стилях при отображении иммерсивных дорог реальной ширины.
- Исправлено отображение тумана при различных углах наклона карты.
12.0.0 (2024-08-19)
🌟 Новые возможности
-
Иммерсивные дороги реальной ширины отображаются в режиме навигации, если:
- Поле Map.graphicsPreset установлено в значении
IMMERSIVE. HttpCacheвключен с помощью HttpOptions.useCache.
На текущий момент дороги реальной ширины доступны только в некоторых крупных городах России, ОАЭ и Саудовской Аравии.
- Поле Map.graphicsPreset установлено в значении
-
Отображение тумана для отсечения далеких объектов карты при наклоне камеры.
-
Пакет
ru.dgis.sdk.androidautoдля интегрирования SDK в Android Auto. -
BaseCamera.viewportRestriction для установки области видимости камеры.
-
MapOptions.graphicsPreset для установки режима графики через GraphicsPreset при инициализации карты.
-
Map.graphicsPreset для установки режима графики через GraphicsPreset для созданной карты.
-
Map.graphicsPresetHint для получения рекомендуемого режима графики для данного устройства.
-
Возможность наклона карты до 70 градусов, начиная с 18 zoom-уровня.
-
RasterUrlTemplate для задания шаблона URL для запроса растровых тайлов. Может иметь два значения: DefaultRasterUrlTemplate для общего шаблона и WmsRasterUrlTemplate для растровых тайлов стандарта WMS.
-
MapLocationController.mapToNorthOrientation — установка принудительной ориентации карты на север.
-
RouteCamera.maxSpeedLimit — скорость в м/с, превышение которой фиксируется камерой.
-
NavigationFollowController.cameraBehaviour — режим слежения камеры за маркером геопозиции в навигаторе.
-
При отображении дорожных событий и данных о пробках на маршруте теперь учитывается высота рельефа.
-
Если текущая позиция на маршруте находится на расстоянии более 500 метров от следующего маневра, произносится фраза «Двигайтесь прямо».
-
Поддержаны звуковые инструкции для велосипедных и самокатных перекрёстков.
-
RouterType для установки типа поисковика в AlternativeRoutesProviderSettings для поиска альтернативных маршрутов.
-
Параметр
toRoutePointв методе MillisecondsRouteAttribute.calculateDuration для вычисления длительности движения по участку маршрута до конкретной точки. -
Методы TerritoryManager.findByPoint и TerritoryManager.findByRect для фильтрации доступных для скачивания офлайн регионов по
GeoPointиGeoRect.
❗ Ломающие изменения
KeySource,KeyFromAsset,KeyFromFileиKeyFromStringперенесены вru.dgis.sdk.platform.VendorConfig,VendorConfigFromAsset,VendorConfigFromFileиVendorConfigFromStringперенесены вru.dgis.sdk.platform.LogOptions,LogLevel,LogMessageиLogSinkперенесены вru.dgis.sdk.platform.HttpOptions,Certificate,CertificateFromAsset,CertificateFromFile,SystemCertificateиHttpProxyOptionsперенесены вru.dgis.sdk.platform.MyLocationControllerиMapLocationController.myLocationIndicatorControllerудалены. Для настройки источника маркера геопозиции используйте MyLocationControllerSettings. В NavigationView теперь не происходит подмена источника геопозиции.- В EventsProcessingSettings.rotationCenter и EventsProcessingSettings.scalingCenter добавлено значение
GEO_POSITIONдля установки режима работа жеста относительно геопозиции. Чтобы задать позицию, относительно которой будет работать жест, используйте метод GestureManager.setTargetGeoPoint. - Meter перенесен из модуля
ru.dgis.sdk.mapвru.dgis.sdk. - Значение
CameraState.FOLLOW_POSITIONудалено. Вместо него ориентируйтесь на значение Camera.behaviour. - SuggestedType, SuggestorType и ObjectType расширены значениями и теперь соответствуют результатам Places API.
- Метод
createRasterTileDataSourceудален. Добавлен новый источник растровых тайлов RasterTileSource с возможностью задания прозрачности растровых тайлов. AudioVolumeудален. Теперь вы можете задавать громкость инструкций от 0 до 100 через AudioSettings.volume.- RouteMapObjectDisplayFlag.IMMERSIVE_ROUTE_PARTS — флаг для использования иммерсивной геометрии для отрезков маршрута.
🛠 Исправления
- Оптимизировано кеширование дорожных событий при отображении на карте.
- Исправлены артефакты при повороте экрана при включении
Vulkan. - Исправлена ошибка, при которой варианты проезда не отображались, если среди маршрутов на общественном транспорте предлагался нерабочий вариант.
- Исправлен учёт пройденного расстояния вдоль альтернативного маршрута.
- Доработано отображение остановок на маршруте на общественном транспорте.
- Доработано стирание маршрута при достижении финишной точки маршрута.
- Исправлено отображение активного маршрута при плохом сигнале GPS.
- Не произносятся голосовые инструкции при навигации при плохом сигнале GPS.
- Не озвучивается расстояние до следующей камеры, если оно меньше 150 метров.
- Не озвучиваются голосовые инструкции при старте навигации.
- Не озвучивается расстояние до камер контроля перекрёстка, полосы общественного транспорта и разметки.
- Инструкция навигации «До конца маршрута осталось» не озвучивается, если впереди по маршруту есть другие инструкции.
- Не озвучиваются пешеходные препятствия и подтипы дорог для непешеходных маршрутов.
🗺 Изменения в стилях карты
- Добавлены слои с иммерсивными дорогами реальной ширины.
- Доработаны различные слои, чтобы они корректно отображались при наличии иммерсивных дорог реальной ширины на карте.
- Обновлены дизайны маркера геопозиции в обычном режиме и в режиме навигации. Также отображение маркера в дневной и ночной темах приведены к одному виду.
- Поддержана новая ветка Московского метро МЦД-4А (литера А).
- Исправлены стили веток Московского метро МЦД-3, МЦД-4, МЦД-4А и МЦД-5.
- Добавлены подписи остановок на маршруте общественного транспорта.
- Добавлены подписи остановок при просмотре полного маршрута выбранного общественного транспорта.
Миграция с версий 10.x на 12.х
Для версий Full и Map
- Повторно выгрузите стили.
- Для корректного отображения маркера геопозиции необходимо скопировать соответствующие слои.
KeySource,KeyFromAsset,KeyFromFileиKeyFromStringперенесены вru.dgis.sdk.platform.VendorConfig,VendorConfigFromAsset,VendorConfigFromFileиVendorConfigFromStringперенесены вru.dgis.sdk.platform.LogOptions,LogLevel,LogMessageиLogSinkперенесены вru.dgis.sdk.platform.HttpOptions,Certificate,CertificateFromAsset,CertificateFromFile,SystemCertificateиHttpProxyOptionsперенесены вru.dgis.sdk.platform.MyLocationControllerиMapLocationController.myLocationIndicatorControllerудалены. Для настройки источника маркера геопозиции используйте MyLocationControllerSettings. В NavigationView теперь не происходит подмена источника геопозиции.- В EventsProcessingSettings.rotationCenter и EventsProcessingSettings.scalingCenter добавлено значение
GEO_POSITIONдля установки режима работа жеста относительно геопозиции. Для задания позиции, относительно которой будет работать жест, используйте метод GestureManager.setTargetGeoPoint. - Meter перенесен из модуля
ru.dgis.sdk.mapвru.dgis.sdk. - Удалено значение
CameraState.FOLLOW_POSITION. Вместо него ориентируйтесь на значение Camera.behaviour. - SuggestedType, SuggestorType и ObjectType расширены значениями и теперь соответствуют результатам Places API.
- Метод
createRasterTileDataSourceудален. Добавлен новый источник растровых тайлов RasterTileSource с возможностью задания прозрачности растровых тайлов.
Дополнительно для версии Full
- Для отображения иммерсивных дорог реальной ширины и для корректного взаимодействия остальных объектов с иммерсивными дорогами в режиме навигации необходимо выгрузить последние стили Mobile SDK и применить свои настройки.
AudioVolumeудален. Теперь вы можете задавать громкость инструкций от 0 до 100 через AudioSettings.volume.- RouteMapObjectDisplayFlag.IMMERSIVE_ROUTE_PARTS — флаг для использования иммерсивной геометрии для отрезков маршрута.
10.7.0 (2024-08-13)
🌟 Новые возможности
- CustomDashboardButton и DashboardButtonAbsent для настройки кнопки добавления дорожных событий в дашборде навигатора.
10.6.0 (2024-08-07)
🌟 Новые возможности
- PackageInfo.finalSizeOnDisk — размер места на диске, которое территория занимает после установки, в байтах.
- PackageInfo.currentSizeOnDisk — размер места на диске, которое занимают установленные файлы территории на данный момент, в байтах.
🛠 Исправления
- Исправлено обновление позиции в дереве кластеризации через MapObjectManager.withClustering при изменении позиции маркера.
- Обновлён дизайн копирайта снимка карты, полученного методом MapView.takeSnapshot.
- В NavigationView UI-элемент спидометра теперь отображается при навигации по велосипедным маршрутам.
- В NavigationView UI-элемент слежения за позицией теперь не скрывается при пешей навигации.
10.5.0 (2024-06-05)
🌟 Новые возможности
- В настройках ключа можно задавать каскадный
appId. Благодаря этой настройке вы можете привязать ключ не к конкретному приложению, а к группе приложений с одинаковой шаблонной частью в идентификаторе. - Обновлён дизайн копирайта.
- Добавлен TiltSettings.maxParallelsDeviationDeg для настройки жеста наклона карты.
🛠 Исправления
- Исправлена работа канала MapView.fpsChannel.
- При отображении маркеров с помощью Marker текстовые подписи не перекрывают друг друга.
- Исправлено отображение маркера геопозиции, когда перестают поступать данные от датчика направления.
10.4.0 (2024-05-20)
🌟 Новые возможности
- Добавлен DGis.initialize с параметром для переопределения аудиодрайвера для воспроизведения звуков SDK. Добавлен интерфейс AudioDriver для задания платформенной реализации аудиодрайвера.
- ZoomFollowSettings.speedRangeToStyleZoomFreeRoamSequence стал сеттером.
🛠 Исправления
- Исправлена ошибка, при которой изменение этажа через IndoorBuilding.activeLevelIndex не влияло на отображение IndoorControl.
- Исправлена обработка жестов, когда карта работает в фоновом режиме.
- В NavigationView источник геопозиции заменяется на источник с контроллером навигатора только при старте навигации.
❗ Ломающие изменения
- В объект карты Map теперь можно добавить только один источник текущего местоположения MyLocationMapObjectSource.
10.3.0 (2024-05-06)
🌟 Новые возможности
- Теперь информация о пробках в регионах обновляется независимо от обновления конфигурационного файла SDK.
- Теперь при zoom-уровне выше 2 карту нельзя сдвинуть для отображения пустых полос сверху и снизу.
- Добавлен арабский голосовой пакет для навигатора.
🛠 Исправления
- Исправлена работа кластеризации через MapObjectManager.withClustering. Теперь иерархия кластеров перестраивается, если позиция одного из маркеров изменилась через Marker.position.
- Исправлена некорректная обработка тапа в Marker с Lottie-анимацией.
- Map.dataLoadingStateChannel больше не зависает в состоянии
loadingпри режиме слежения за геопозицией. - Исправлена ошибка, при которой
sources.jarв релизном пакете генерировался пустым. - Исправлено отображение дашборда в NavigationView в режиме
FreeRoam.
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— ФИАС-код улицы.
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для слежения за наклоном. - Удалены значения
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.x на 10.х
Для версий Full и Map
-
Повторно выгрузите стили.
-
Изменена работа с FollowController:
- Методы
createRawMyLocationControllerиcreateSmoothMyLocationControllerудалены. Добавлен конструктор MyLocationController для создания контроллера перемещения маркера геопозиции. - Теперь не нужно указывать источник направления, поэтому удалены значения
FollowBearing.SATELLITEиFollowBearing.MAGNETIC. Добавлено значение FollowBearing.ON для включения слежения — источник выбирается автоматически. - Удалено поле
FollowPosition.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. -
Из Mobile SDK Map-сборки удалены PackageManager и Package, что уменьшило размер продукта.
-
В MapOptions удалены поля
lightThemeиdarkTheme. Теперь для выставления темы нужно использовать класс MapTheme в методах MapOptions.setTheme и MapView.setTheme.
Дополнительно для версии Full
- Метод Voice.playWelcome теперь возвращает Future, который становится готовым, когда проигрывание сэмпла завершается.
- Удалено поле
RoadSubtype.STAIRWAY. Вместо него добавлены поля RoadSubtype.STAIRWAY_UP и RoadSubtype.STAIRWAY_DOWN для использования лестниц с явным направлением. - Удалено поле
NavigationFollowController.mapTiltController. - Кидается исключение при попытке стартовать навигатор в режиме ведения или симуляции с маршрутом на общественном транспорте.
- Отключено кэширование тайлов
FreeRoamпри навигации. - MyLocationMapObjectSource для навигатора устанавливается внутри NavigationView.