Android SDK Release notes | 2GIS Documentation

Release notes

Release Date: 18.05.2022

  • Добавлена возможность задания слоя отрисовки SimpleObject при создании MapObjectManager. Добавлен параметр - layerId - ID слоя нового типа Динамический объект. Когда он задан, объекты размещаются на этом слое, что позволяет задать их порядок относительно других слоев.
  • Исправлены зависания карты при больших значениях zoom и угла наклона.
  • Исправлена проблема, когда при загрузке карты в гибридном режиме на какое-то время все заполнял полигон воды.
  • Исправлена проблема, когда на разных zoom изменялась толщина добавленного объекта Polygon.
  • Оптимизировано обновление пробок - теперь они кэшируются в зависимости от style zoom.
  • Исправлена проблема, когда при использовании MapView в xml-верстке переставала отображаться Preview.

Для всех типов Mobile SDK:

  • Нужно обратиться в техническую поддержку 2ГИС для получения нового ключа для использования MobileSDK. Обязательно нужно указать appId приложения, для которого будет создан ключ. Полученный файл ключа dgissdk.key нужно добавить assets.
  • Обновить стили.
  • Переименован класс 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.FEDERAL_ROAD и др.
  • Метод VoiceSelector.setVoice заменен на свойство voice.

Release Date: 04.05.2022

  • Изменена логика работы с ключами. В assets приложения нужно добавить файл dgissdk.key, который содержит информацию о ключе.
  • Новый дизайн UI навигатора NavigationView вместе со всеми контролами. Теперь дизайн совпадает с новым навигатором приложения 2ГИС.
  • Помимо обновленного дизайна контролов в новом навигаторе:
    • Появилась возможность задавать цветовые схемы всех контролов.
    • Появилась возможность задавать функцию обратного вызова на кнопку завершения поездки. Если callback не задан, то кнопка не будет отображаться в нижней всплывающей панели.
    • По умолчанию включено отображение баблов полосности.
    • Новый контрол AddRoadEventControls для добавления дорожных событий.
  • Добавлена возможность задания слоя отрисовки SimpleObject при создании MapObjectManager. Добавлен параметр - layerId - ID слоя нового типа Динамический объект. Когда он задан, объекты размещаются на этом слое, что позволяет задать их порядок относительно других слоев.
  • Для велосипедных маршрутов добавляются специфичные для них атрибуты, такие как:
    • Route.badRoads - плохой ли участок дороги.
    • ExtraInstructionInfo.bicycleCrossroad - велосипедные инструкции BicycleInstructionCrossroad, BicycleInstructionCrossroadManeuver, BicycleInstructionCrossroadManeuverDirection, BicycleInstructionCrossroadLandmark.
  • По умолчанию включено кэширование Free roam тайлов в режиме движения по маршруту. Для настройки кэширования используются FreeRoamSettings.onRoutePrefetchLength, FreeRoamSettings.onRoutePrefetchRadiusMeters и FreeRoamSettings.cachePrefetchRadiusMeters.
  • Добавлен флаг TruckRouteSearchOptions.fallbackOnCar, который позволяет искать автомобильный маршрут при невозможности найти грузовой маршрут.
  • Отправка нового поля passedDistance в событиях статистики навигатора.
  • Ускорено добавление сложных полигонов на карту.
  • Исправлена проблема, при которой камера, озвученная при прохождении на маршруте один раз, больше не озвучивалась при повторном проезде через неё.
  • Исправлен поиск в офлайн и гибридном режимах.
  • Оптимизировано обновление пробок.
  • Отключение отображения этажных планов в режиме навигации.
  • Оптимизирована отправка статистики в режиме навигации.
  • Оптимизирована логика перезапроса маршрутов.
  • Исправлена проблема, когда при завершении поездки построенный маршрут оставался на карте.
  • Обработка изменения сетевого соединения.
  • Исправлена работа Channel - теперь значения не могут приходить после закрытия соединения.
  • Исправлено падение при разрушении карты.
  • Структура ApiKeys была удалена. Соответствующий параметр в DGis.initialize также был удален. Теперь нужно добавлять файл dgissdk.key в assets приложения.
  • Удалены методы SearchQueryBuilder.setLocation и SuggestQueryBuilder.setLocation - значение автоматически берется из источника геопозиции.
  • Удален метод PackedSearchQuery.location.
  • Удалены SearchResultMarkerObject и SearchResultMarkerSource для генерализации маркеров поисковой выдачи по причине отсутствия возможности динамически добавлять или удалять объекты. В качестве альтернативы пользователю предлагается самому реализовать генерализацию маркеров или воспользоваться кластеризацией.
  • При создании MyLocationMapObjectSource по умолчанию используется SmoothMyLocationController вместо RawMyLocationController.
  • PersonalDataCollectionConsent становится последним параметром в методе DGis.initialize.
  • Изменения для нового навигатора: цвета/размеры пробок, маршрута, маневров, новая модель стрелки.
  • Поддержка размещения объектов SimpleMapObject на этажах.

Release Date: 19.04.2022

  • Отправка нового поля passedDistance в событиях статистики навигатора.
  • Ускорено добавление сложных полигонов на карту.
  • Исправлено обновление пробок на маршруте.
  • Кэширование дорожных событий.
  • Исправлено падение при разрушении карты на Android 5.
  • Улучшен алгоритм обновления ETA на маршруте.
  • Обработка изменения сетевого соединения.
  • Исправлена работа Channel - теперь значения не могут приходить после закрытия соединения.
  • Методы SearchQueryBuilder.setLocation и SuggestQueryBuilder.setLocation помечены как устаревшие - значение автоматически берется из источника геопозиции.

Release Date: 04.04.2022

  • Гибридный режим работы.
    • Добавлена возможность скачать данные для работы карты, справочника и поиска проезда, которые в дальнейшем будут использоваться при отсутствии Интернет-соединения. Для скачивания данных о территориях и получении информации о них служит TerritoryManager.
    • Карта по умолчанию работает в гибридном режиме - одновременно использует источники, созданные через DGisSource.createOnlineDgisSource и DGisSource.createOnlineDgisSource. Это можно изменить, указав при создании MapOptions.sources, например, использовать только online или только offline.
    • Гибридный поисковик по справочнику - SearchManager.createSmartManager (но есть так же отдельные createOnlineManager и createOfflineManager).
    • Поиск проезда (TrafficRouter) всегда гибридный - использует online/offline данные в зависимости от их доступности.
    • С помощью TerritoriesAlongRouteProvider можно получить список территорий, через которые проходит маршрут.
  • Отображение этажных планов.
    • Происходит автоматически при приближении карты к крупным зданиям (торговым центрам, аэропортам и т.д.).
    • Для получения информации об этажных планах и их переключения служит IndoorManager.
    • Есть готовый UI контрол для управления этажами - IndoorControl.
    • Динамические объекты (SimpleMapObject) можно разместить на конкретном этажном плане с помощью параметра levelId.
  • Отображения всплывающих подсказок с полосностью над маршрутом навигатора.
    • По умолчанию выключено. Включить можно, задав RouteMapObjectDisplayFlag.LANES_BUBBLES в RouteMapObject.displayFlags, RouteMapSettings.onRouteDisplayFlags или RouteMapSettings.freeRoamDisplayFlags.
    • Позиции подсказок на маршруте можно получить с помощью RouteMapObject.lanesCalloutPositions.
  • Информация о событиях и пробках на маршруте в навигаторе - Model.dynamicRouteInfo. Для настройки параметров её обновления служит NavigationManager.dynamicRouteInfoSettings.
  • Настройка параметров отображения маршрута в навигаторе - NavigationManager.routeMapSettings.
  • Автоматический переход в режим Free Roam при сходе с маршрута.
  • Добавлены настройки поиска маршрута лучше - NavigationManager.betterRouteProviderSettings.
  • Добавлены поля с границами зоны действия знака полосности - RouteLaneSign.signStartPoint, signPoint, signEndPoint.
  • Добавлена опция "избегать лестниц" на пешеходных маршрутах - PedestrianRouteSearchOptions.avoidStairways.
  • Возможность настройки таймаута для HTTP запросов - HttpOptions.timeout.
  • Исправлено обновление пробок на маршруте.
  • Кеширование данных Free Roam. Настроить параметры кеширования можно с помощью NavigationManager.freeRoamSettings.
  • Кэширование дорожных событий.
  • Исправлено падение при разрушении карты на Android 5.

Map-версия:

  • Класс directory.DirectoryObjectId переименован в DgisObjectId.
  • Вместо MapOptions.source теперь MapOptions.sources - список источников.
  • Удалены функции 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.FEDERAL_ROAD и др.
  • Метод VoiceSelector.setVoice заменен на свойство voice.
  • Отображение этажных планов.
    • Появились новые каталоги со слоями: "Площади этажей", "Площадники организаций", "Стены этажей", "Якоря организаций", "Достопримечательности этажей", "Подписи этажей".
    • У всех слоёв в каталоге "3D дома", а также у слоя "3D модели" поменялось условие выбора данных.
  • Требуется перевыгрузка стилей из редактора для того, чтобы появились подсказки полосности.

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).

Release Date: 16.03.2022

  • Отключен accessibility в контроле копирайта.

Release Date: 11.03.2022

  • Исправлено обновление пробок вдоль маршрута.
  • Поправлена ошибка при отправке статистики поиска проезда.

Release Date: 04.03.2022

  • Добавлены предупреждения и ошибки в лог в случае, если заканчивается или закончился срок поддержки конкретной версии MobileSDK.
  • Поддержан фильтр CarRouteSearchOptions.avoidFerry на запрет паромных переправ.
  • При отправке статистики обрабатываются события:
    • завершения запроса альтернативных маршрутов;
    • изменения индекса следующей промежуточной точки маршрута;
    • обновления динамической информации о маршруте.
  • Исправлено падение, которое могло возникнуть при разрушении объекта карты.
  • Исправлена ошибка, при которой на маршрутах на общественном транспорте при отсутствии информации о вагонах было невалидное описание посадки в вагон.
  • Теперь при вызове Camera.setPadding и Camera.setPositionPoint с параметром CameraPositionPointChangeBehaviour.KEEP_CAMERA сбрасывается слежение за позицией.
  • Исправлена проблема отрисовки некоторых регионов.
  • Исправлена ошибка при отправке статистики, связанная с генерацией события после достижения конечной точки.
  • Теперь если отправили запрос на поиск нового маршрута, но до его получения вернулись на текущий маршрут, то отправляются запросы на маршрут лучше.
  • Теперь метод TrafficRouter.findRoute в случае не нахождения маршрутов не кидает исключение, а возвращает пустой список.

Release Date: 25.02.2022

  • Исправлено падение, которое могло возникнуть при разрушении объекта карты.

Release Date: 21.02.2022

  • Исправлена отправка статистики о старте навигации.

Release Date: 10.02.2022

  • Плавный перелет при активации слежения за геопозицией - CameraBehaviour.transitionType (по умолчанию TransitionType.SMOOTH - включено).
  • Возможность задания настроек, недоступных через API (например, URL-ов web-сервисов) - параметр vendorConfig в DGis.initialize - 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.
  • Оптимизация отображения пробок на карте.
  • Оптимизация добавления маршрута на карту.
  • Настройка громкости звука (SoundNotificationSettings.notificationVolume) теперь влияет лишь на навигатор, а не на системную громкость.
  • Исправлено определение маршрута лучше после схода с маршрута и возврата обратно.
  • Исправлено дрожания компаса.
  • Убрано ошибочное оповещение о плохом сигнале GPS при старте симуляции навигации (NavigationManager.startSimulation).
  • Исправлена ошибка в логе при задании MapView.setTouchEventsObserver во время жеста.
  • Параметр accuracy в MagneticChangeListener.onValueChanged теперь имеет тип float и означает среднеквадратичное отклонение угла.

Release Date: 24.01.2022

  • Добавлено логирование позиции камеры в случае, если в методы Camera.move, Camera.position и MapOptions.position передать некорректное значение позиции.

Release Date: 10.01.2022

  • Исправили падения в MagneticHeadingProvider, связанные с системным сигналом SIGABRT.
  • Исправили проблему, когда не загружались тайлы при включённом AdGuard VPN.
  • Исправили падения при считывании состояния сети.
  • Убрали запись ошибок в логи, когда объект карты разрушается сразу после создания.
  • Исправили падения в сетевом кэше.
  • Добавили логирование запроса при ошибках работы с сетью.
  • Убрали ошибки в логах при обработке тайлов карты.
  • Исправлены редкие падения при создании карты в разных потоках.
  • Исправлены ошибки в логах при добавлении маркера на карту.

Release Date: 29.12.2021

  • Сохранение и восстановление маршрута и состояния навигатора - PackedNavigationState, TrafficRoute.fromNavigationState.
  • Добавлено свойство PublicTransportTransfer.startPointName - название точки начала участка маршрута.
  • Отображение номеров и цвета линий метро в карточке общественного транспорта (PublicTransportCard).
  • Исправлено падение при изменении настроек масштабирование карты в навигаторе (NavigationManager.zoomFollowSettings).
  • Исправлена работа PublicTransportInfo.color для типов транспорта отличных от метро.
  • Исправлен цвет текста в SpeedInfoControl в темной теме.
  • Период обновления данных о пробках ограничен снизу 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".
    • Некоторые несоответствия тем возникли из-за использования диапазона из данных. Чтобы такого не случилось в будущем, все масштабы в шаблонах теперь заданы явно.

Release Date: 24.12.2021

  • Добавлены перешеходные и велосипедные маршруты, а также маршруты на общественном траспорте.
  • Добавлена возможность отключения инструкций о завершении маршрута и о потере сигнала GPS.
  • В структуре Location появились 2 поля - название источника геопозиции source и временная точка, в которой была определена геопозиция, timestamp.
  • Класс PackedMapState для сериализации и десериализации состояния карты. Старые методы serialize(cameraPosition:) и deserialize(positionString:) помечены, как deprecated.
  • Класс PackedSearchQuery для сериализации и десериализации поискового запроса.
  • Добавлен метод mapToScreen(geoPointWithElevation:) в структуру Projection.
  • Реализован контрол отображения маршрутов на общественном транспорте.
  • Реализована отправка статистики для навигатора.
  • Исправлена ошибка, когда при переходе из режима FreeRoam в режим навигации проигрывалась инструкция о перестроении маршрута.
  • Исправлено пропадание промежуточных точек при перестроении маршрута.
  • Добавлен таймер в 30 секунд на озвучивание инструкции о перестроении маршрута.
  • Исправлена работа с дорожными событиями для анонимных пользователей.
  • Убрано отображение контрола скорости для пешеходного и велосипедного маршрутов.
  • Убрано оповещение о плохом сигнале GPS при старте симуляции навигации.
  • Исправлена ошибка, при которой не загружались тайлы карты при включенном AdGuard VPN.
  • Оптимизировано отображение пробок на карте.
  • Исправлено падение при получении данных о сети.
  • Исправлено падение в MagneticHeadingProvider.

Release Date: 08.12.2021

  • Исправили падения, связанные с системным сигналом SIGABRT.

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).
  • Добавлено поле RouteDistance.kilometers.
  • Добавлена функция TimePoint.now().
  • Исправлено отображение камер на маршруте. Теперь камеры, которые ближе к началу маршрута, всегда отображаются приоритетнее, чем камеры, которые дальше.
  • Исправлено падение при работе 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.
  • Структуры DayTime, WeekDay, WeekTime и WeekTimeInterval перемещены из ru.dgis.sdk.road_events в ru.dgis.sdk.
  • Добавлены классы Route и Traffic. У TrafficRoute вместо прошлого набора свойств теперь лишь route и traffic, через которые можно получить полную информацию о маршруте.
  • Удалены BicycleRouteSearchOptions и PedestrianRouteSearchOptions - перенесены на будущие релизы.
  • RouteParams переименован в RouteEditorRouteParams.

Миграция с v1.x

  • Вместо Arcdegree, который использовался для задания поворота камеры, широты, долготы, теперь отдельные типы - Bearing, Latitude, Longitude.
  • Изменен API для работы с пробками: TrafficScore переименован в TrafficScoreProvider, TrafficScoreValue в TrafficScore, TrafficManager удален - TrafficScoreProvider создается через конструктор.
  • Метод LocaleManager.setOverridedLocales переименован в overrideLocales.
  • Класс ScreenSize перенесён из ru.dgis.map в ru.dgis.common.
  • Вместо свойств HttpOptions.userSslCerts, HttpOptions.disableSystemSslCerts теперь свойство HttpOptions.certificates, позволяющее задать список сертификатов.
  • Исправления и изменение API пользовательских контроллеров камеры - теперь контроллер может быть лишь один, добавляется/удаляется методами Camera.setCustomFollowController/Camera.removeCustomFollowController.
  • В редакторе стилей на вкладке Динамические объекты у объекта Радиус точности геопозиции должен использоваться подслой s_dvg_accuracy_circle (если есть ещё 2 - это нормально, они оставлены для совместимости с первой версией).
  • У слоёв Камера контроля скорости в каталогах Слой транспортных событий в режиме ведения, Слой транспортных событий, Транспортные события на маршруте в режиме ведения и Транспортные события на маршруте поменялся масштаб отображения на 13-14.
  • Добавился слой Территория парковки автосгенеренная для режима парковок.
  • Удалён слой Парковки.
  • Добавились слои Парковки с неизвестной ценой, Парковки для инвалидов, Парковки для резидентов, Парковки такси, Парковки бесплатные.
  • В каталогах Транспортные события на маршруте в режиме ведения и Транспортные события на маршруте появились новые слои. Добавьте их в свои стили, чтобы продолжали отображаться камеры на маршруте, а также появились новые события.
  • Добавились каталоги со слоями Слой транспортных событий в режиме ведения и Слой транспортных событий для нового слоя дорожных событий.
  • Добавился каталог слоёв Пузырьки парковок, а также слои Зона запрета парковки для включенного слоя парковки и Территория парковки для режима парковок. Эти данные отображаются только в случае, когда у карты задан атрибут parkingOn со значением true.
  • Слой Территория парковки теперь отображается, когда у карты атрибут parkingOn отсутствует или выставлен в false.

Release Date: 25.11.2021

  • Теперь создание карты с размером 0x0 валидно.
  • Исправлено падение при работе MyLocationController.

Release Date: 18.11.2021

  • Добавлены сбор и отправка данных о пробках во время навигации. По умолчанию включено, выключить можно с помощью TrafficCollector.trafficCollectingAllowed.
  • Данные о парковках в справочнике - DirectoryObject.parkingInfo.
  • Данные об отзывах в справочнике - DirectoryObject.reviews.
  • Данные о статусе работы в справочнике - DirectoryObject.workStatus.
  • События в статистике о создании и удалении источников карты.
  • Зависание при плохом сетевом соединении.
  • Отображение дорожных событий в навигаторе.
  • Убрана задержка старта навигации.
  • Неправильное значение Model.state при переключении с режима free-roam на движение по маршруту.
  • Неправильный статус обновления макрографа - RoadMacroGraph.info.updateStatus.
  • Поведение в случае изменения размера карты во время перелета.
  • Поведение Camera.padding при маленьком размере карты.
  • Метод LocaleManager.setOverridedLocales переименован в overrideLocales.
  • Требуется перевыгрузить стили из редактора. Исправляет отображение железных дорог, а также исправляет падение в одном из сценариев.

Release Date: 15.11.2021

  • Исправлено зависание при плохом сетевом соединении.
  • Исправлено падение в загрузке тайлов карты.
  • Круг(Circle) мерцал при перемещении.
  • Требуется перевыгрузить стили из редактора. Исправляет отображение железных дорог, а также исправляет падение в одном из сценариев.

Release Date: 10.11.2021

  • Добавлены подписи у маркеров дорожных событий.
  • Возможность включения/выключения озвучки инструкций, препятствий и подтипа дороги - SoundCategory.INSTRUCTIONS, SoundCategory.OBSTACLES, SoundCategory.ROAD_SUBTYPES.
  • Отправляем статистику о параметрах используемых карт - размер, DPI и т.д.
  • Не озвучивались дорожные события, у которых не указана полоса.
  • Не позволяем масштабировать карту двойным нажатием, когда масштабирование отключено в настройках.
  • Круг(Circle) мерцал при перемещении.
  • Убрана озвучка лежачих полицейских (она и раньше не работала - нет таких звуков, вместо них была пустота).

Release Date: 29.10.2021

  • Получение фотографий дорожных событий - RoadEvent.photos.
  • Отображение фотографии в карточке дорожного события RoadEventCard.
  • Возможность создания дорожных событий - RoadEventManager с методами createAccident, createCamera и др.
  • Карточка создания дорожного события - AddRoadEventCard.
  • Возможность удалить дорожное событие - RoadEvent.remover.
  • Возможность совершать действия с дорожными событиями (подтвердить, опровергнуть, лайкнуть и т.д.) - RoadEvent.availableActions.
  • Улучшено описание дорожных событий-камер.
  • Исправлено отображение иконок двусторонних перекрытий - раньше отображалось лишь с одной стороны.
  • Возможность задать размер карты у функций вычисления позиции камеры - параметр size у calcPosition и zoomOutToFit.
  • Настройки маршрута RouteMapObjectSource.routeSourceSettings, NavigationManager.routeSourceSettings, с помощью которых можно задать параметры отображения стрелок маневров.
  • Озвучивание перестроения маршрута в навигаторе.
  • Исправлено озвучивание сгруппированных камер - озвучивается лишь самая приоритетная.
  • Настройка громкости озвучки в навигаторе - NavigationManager.soundNotificationSettings.notificationVolume.
  • Неактивное состояние UI навигатора при отстутсвии GPS.
  • Исправлена ошибка при отправке статистики, при которой было мало событий MapSource с типом 2gis.online.
  • Исправлено падение при использовании LogSink.
  • Исправлены потенциальные падения в обработке сетевых запросов.
  • Подробное логирование информации о сетевых запросах при уровне LogLevel.VERBOSE.
  • Класс ScreenSize перенесён из ru.dgis.map в ru.dgis.common.

Release Date: 29.10.2021

  • Исправлено падение при использовании LogSink.

Release Date: 29.10.2021

  • Исправлены потенциальные падения в обработке сетевых запросов.

Release Date: 26.10.2021

  • Исправлена ошибка при отправке статистики, при которой было мало событий MapSource с типом 2gis.online.
  • Исправлено падение при работе MyLocationController.

Release Date: 21.10.2021

  • Исправлена ошибка при скачивании территорий.
  • Добавлена возможность обработки клика по дорожному событию на маршруте.
  • Поддержана отрисовка камер в режиме FreeRoam при использовании офлайн источника дорожного графа.
  • Исправлена ошибка, при которой не отображались камеры при первом построении маршрута.
  • Исправлено падение при работе MyLocationController.
  • Исправлены ошибки при отображении дорожных событий.
  • Исправлена ошибка, при которой не отображались иконки камеры контроля перекрестка.
  • Добавлена возможность отключать озвучку по типу через NavigationManager.soundNotificationSettings.enabledSoundCategories.

Release Date: 14.10.2021

  • Исправления в источнике дорожных событий (RoadEventSource).
  • Аттрибут dgis_renderMode у MapView для задания MapOptions.renderMode.
  • Исправлена работа suggest-ов для некоторых запросов.
  • Повторный поиск маршрута в навигаторе, если предыдущая попытка была неуспешной.
  • Возможность получить из модели навигатора текущую геопозицию, с которой работает навигатор - Model.location.
  • Исправление в озвучивании камер в навигаторе - теперь сообщается расстояние до камеры, а не до начала ее действия.
  • Дополнительное описание типа дороги - RouteInfo.roadSubtypes.
  • Дабавлены значения по умолчанию для параметров поиска маршрута на грузовом транспорте (TruckRouteSearchOptions).
  • Задание proxy для сетевых запросов - HttpOptions.proxy.
  • Исправления и изменение API пользовательских контроллеров камеры - теперь контроллер может быть лишь один, добавляется/удаляется методами Camera.setCustomFollowController/Camera.removeCustomFollowController.
  • NavigationView не создает маркер геопозиции на карте (MyLocationMapObjectSource), это нужно делать в пользовательском коде. Для перемещения маркера навигатора в создание источника необходимо добавить контроллер позиции, например, через createSmoothMyLocationController().
  • Model.routeInfo переименовано в Model.route, Model.currentRoutePosition в Model.routePosition, вместо Model.badLocation теперь противоположное Model.locationAvailable, вместо Model.currentSpeedChannel теперь Model.locationChannel.groundSpeed.
  • У слоёв "Камера контроля скорости" в каталогах "Слой транспортных событий в режиме ведения", "Слой транспортных событий", "Транспортные события на маршруте в режиме ведения" и "Транспортные события на маршруте" поменялся масштаб отображения на 13-14.
  • У слоёв "Территория парковки" и "Территория парковки для режима парковок" задан цвет для выделенного состояния
  • Добавился слой "Территория парковки автосгенеренная для режима парковок".
  • У слоёв в каталоге "Пузырьки парковок" приоритет иконки поднят до 1, чтобы они вытесняли обычные значки парковок
  • Удалён слой "Парковки".
  • Добавились слои "Парковки с неизвестной ценой", "Парковки для инвалидов", "Парковки для резидентов", "Парковки такси", "Парковки бесплатные".

Release Date: 07.10.2021

  • Отображение дорожных событий на карте (не привязанных к конкретному маршруту) - RoadEventSource, RoadEvent, RoadEventCard.
  • Возможность задать пользовательский контроллер слежения камерой - CustomFollowController.
  • Исправлена регрессия: не работало перетаскивание маркеров без текста.
  • Отображение на карте начала и конца платных дорог.
  • Поддержка межрегионального офлайн поиска проезда.
  • Поддержка такси как отдельного вида транспорта - TaxiRouteSearchOptions.
  • Поддержка пропусков для грузового транспорта - TruckRouteSearchOptions.passId, TrafficRoute.truckPassZoneIds.
  • Исправлено озвучивание дополнительного маневра в навигаторе.
  • Озвучивание аварий и дорожных работ в навигаторе.
  • Голосовое оповещение о промежуточных точках в навигаторе.
  • Исправление в притяжке к дорожному графу в навигаторе при нулевой скорости.
  • Отображение следующего маневра и номера съезда в UI навигатора.
  • Возможность настроить цвета стандартного UI навигатора, для этого нужно задать у NavigationView тему, отнаследованную от "DGisTheme.Navigation".
  • Ломающие изменения в API навигатора. Информация о маршруте - RoadTypeInfo, TransportTypeInfo, RoadSurfaceInfo, SpeedLimitInfo, RoadNameInfo, TollInfo - теперь расположена в RouteInfo в виде списков, текущее зачение можно получить из них, обратившись по соответствующему индексу в navigation.Model - Model.roadTypeIndex, Model.transportTypeIndex и т.д.
  • Изменения в стилях карты:
    • Ломающее изменение. В каталогах "Транспортные события на маршруте в режиме ведения” и "Транспортные события на маршруте” появились новые слои. Добавьте их в свои стили, чтобы продолжали отображаться камеры на маршруте, а также появились новые события.
    • Добавились каталоги со слоями "Слой транспортных событий в режиме ведения” и "Слой транспортных событий” для нового слоя дорожных событий
    • Добавился каталог слоёв "Пузырьки парковок", а также слои "зона запрета парковки для включенного слоя парковки” и "Территория парковки для режима парковок". Эти данные отображаются только в случае, когда у карты задан атрибут parkingOn со значением true.
    • Слой "Территория парковки". теперь отображается, когда у карты атрибут parkingOn отсутствует или выставлен в false.

Release Date: 28.09.2021

  • Исправлен баг с низкой производительностью карты при большом масштабе.
  • Исправлена гонка в RouteMapObject, что могло приводить к его неправильному отображению.
  • Добавлено отображение на карте и озвучка новых типов камер.
  • Добавлено свойство Camera.size - размер области просмотра в пикселях.
  • Ломающие изменения в API навигатора:
    • свойство Model.maneuverInstructionIndex переименовано в instructionIndex;
    • RoadRule перемещен из dgis.sdk.navigation в dgis.sdk.routing;
    • Для получения информации о инструкциях навигатора служит RouteInfo.instructions, получить название маневра из которых можно с помощью функции getInstructionManeuver
  • Исправлено слежение за геопозицией при использовании навигатора с несколькими картами одновременно.
  • Убран лишний переход Model в состояние State.DISABLED при перепоиске маршрута.
  • Ломающее изменение. Вместо свойств HttpOptions.userSslCerts, HttpOptions.disableSystemSslCerts теперь свойство HttpOptions.certificates, позволяющее задать список сертификатов.

Release Date: 23.09.2021

  • Исправлены проблемы, которые возникли после доработки перемещения маркеров без текста - медленно работали статичные маркеры без текста и для маркеров без текста не устанавливалась прозрачность.
  • Обновлен размер логотипа 2GIS на карте.
  • Исправлена проблема, когда при задании угла наклона при создании карты, угол наклона сбрасывался при любом изменении карты.

Release Date: 23.09.2021

  • Исправлены проблемы, которые возникли после доработки перемещения маркеров без текста - медленно работали статичные маркеры без текста и для маркеров без текста не устанавливалась прозрачность.
  • Обновлен размер логотипа 2GIS на карте.
  • Исправлена проблема, когда при задании угла наклона при создании карты, угол наклона сбрасывался при любом изменении карты.

Release Date: 21.09.2021

  • Существенно ускорено перемещение маркеров без текста.
    Важно: необходимо переэкспортировать стиль из редактора стилей, без этого маркеры не будут отображаться.
  • Изменена логика кластеризации - в качестве центра кластера берется центр масс подкластеров предыдущего уровня.
  • Исправлена ошибка, когда в режиме кластеризации при удалении маркера удалялись соседние близко расположенные маркеры.
  • Исправлена работа SuggestQueryBuilder.setSuggestorType - ранее эта опция не влияла на результат.

Release Date: 21.09.2021

  • Существенно ускорено перемещение маркеров без текста.
    Важно: необходимо переэкспортировать стиль из редактора стилей, без этого маркеры не будут отображаться.
  • Изменена логика кластеризации - в качестве центра кластера берется центр масс подкластеров предыдущего уровня.
  • Исправлена ошибка, когда в режиме кластеризации при удалении маркера удалялись соседние близко расположенные маркеры.
  • Добавлен контрол компаса - CompassControl.
  • Добавлен контрол позволящий управлять padding-ом карты из верстки - MapPaddingControl.
  • Исправлена работа SuggestQueryBuilder.setSuggestorType - ранее эта опция не влияла на результат.
  • Добавлены свойства TrafficRoute.startPoint, TrafficRoute.finishPoint - начальная и конечная точка маршрута.
  • Добавлены настройки управления масштабированием в навигаторе - NavigationManager.zoomFollowSettings.
  • Добавлены настройки обновления пробочных данных в навигаторе - NavigationManager.trafficSettings.
  • Ломающее изменение. NavigationView теперь не создает NavigationManager, его нужно задавать снаружи через свойство navigationManager.
  • UI навигатора локализован на русский и английский.
  • В UI навигатора добавлены контролы управления картой.
  • Добавлена нотификация в UI о состоянии навигатора - перепоиск, отсутствие сигнала GPS.
  • Новый дизайн контролов навигации в режиме Free Roam.
  • Переключение между временем прибытия и временем до прибытия в RemainingRouteInfoControl.
  • BetterRoutePromptControl при отсутствии с ним взаимодействия переходит в свернутое состояние.

Миграция с v1.x

  • Вместо Arcdegree, который использовался для задания поворота камеры, широты, долготы, теперь отдельные типы - Bearing, Latitude, Longitude.
  • Изменен API для работы с пробками: TrafficScore переименован в TrafficScoreProvider, TrafficScoreValue в TrafficScore, TrafficManager удален - TrafficScoreProvider создается через конструктор.
  • Поменялись базовые стили. В редакторе стилей на вкладке Динамические объекты у объекта Радиус точности геопозиции должен использоваться подслой s_dvg_accuracy_circle (если есть ещё 2 - это нормально, они оставлены для совместимости с первой версией).

Release Date: 07.09.2021

  • Исправлена проблема смены иконки у маркера через Marker.icon, при которой до появления нового загруженного изображения отрисовывалась пустая иконка. Теперь до загрузки нового изображения отображается старое.
  • Доработана отрисовка перекрытий на дороге поверх пробок.

Release Date: 03.09.2021

  • Навигатор автоматически меняет zoom-уровень карты в зависимости от скорости (пока что без возможности настройки).
  • Исправлено отображение пробок на карте при максимальных значениях zoom-уровня.
  • Исправлена проблема смены иконки у маркера через Marker.icon, при которой до появления нового загруженного изображения отрисовывалась пустая иконка. Теперь до загрузки нового изображения отображается старое.
  • Переделан расчет зоны действия камеры на маршруте.
  • Сделано исправление ошибки, при которой слежение за позицией включается не сразу при старте навигации.
  • В базовых UI контрола навигатора поддержаны различные режимы работы навигатора, такие как RouteSearch, Finished, Disabled.
  • Доработана отрисовка перекрытий на дороге поверх пробок.
  • Ломающее изменение. Класс 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 - это нормально, они оставлены для совместимости с первой версией).

Release Date: 26.08.2021

  • Исправлена проблема, при которой MapObjectManager.removeObject не отрабатывал, если параллельно у удаляемого объекта изменять атрибуты.
  • Доработана кластеризация, формируемая через MapObjectManager.withClustering. Теперь при удалении маркеров из MapObjectManager позиция кластеров корректируется в случае, если был удален кластерообразующий маркер.
  • Теперь CameraPositionPoint учитывается при расчете позиции камеры CameraPosition с помощью функции calcPosition.
  • Ломающее изменение. Доработано отображение маркера текущего местоположения - теперь иконку с направлением можно рисовать всегда, независимо от режима навигации. В случае использования кастомных стилей, в редакторе стилей нужно поправить динамические объекты текущего местоположения следующим образом:
    1. У Маркер на авто и Маркер на авто, устаревшая позиция в пункте Видимость перевести тумблер Режим навигатора и выбрать пункт Включен.
    2. У Маркер с направлением, Маркер без направления и Маркер без направления, устаревшая позиция в пункте Видимость перевести тумблер Режим навигатора и выбрать пункт Выключен.
  • Контрол о проезде зоны действия камеры - CameraControl
  • Исправлено зависание в TrafficSource
  • Исправления в притяжке к маршруту в режиме Free Roam
  • Исправлено падение при создании большого количества маркеров с установленной userData

Release Date: 25.08.2021

  • Поправили конфиг ProGuard для корректной сборки

Release Date: 24.08.2021

  • Исправлена проблема, при которой MapObjectManager.removeObject не отрабатывал, если параллельно у удаляемого объекта изменять атрибуты.
  • Доработана кластеризация, формируемая через MapObjectManager.withClustering. Теперь при удалении маркеров из MapObjectManager позиция кластеров корректируется в случае, если был удален кластерообразующий маркер.
  • Теперь CameraPositionPoint учитывается при расчете позиции камеры CameraPosition с помощью функции calcPosition.
  • Ломающее изменение. Доработано отображение маркера текущего местоположения - теперь иконку с направлением можно рисовать всегда, независимо от режима навигации. В случае использования кастомных стилей, в редакторе стилей нужно поправить динамические объекты текущего местоположения следующим образом:
    1. У Маркер на авто и Маркер на авто, устаревшая позиция в пункте Видимость перевести тумблер Режим навигатора и выбрать пункт Включен.
    2. У Маркер с направлением, Маркер без направления и Маркер без направления, устаревшая позиция в пункте Видимость перевести тумблер Режим навигатора и выбрать пункт Выключен.

Release Date: 17.08.2021

  • Исправлено падение в NetworkConnectionManager.

Release Date: 13.08.2021

  • Добавлена возможность настройки пешеходной озвучки маршрута при навигации.
  • В NavigationManager.uiModel добавлен канал navigationActiveChannel, который возвращает два состояния - active и inactive. Второе состояние выставляется, когда пользователь закончил движение на автомобиле, и навигатор можно выключить.
  • Исправлено падение при параллельном изменении позиции маркера и переинициализации MapObjectManager.
  • Исправлена ошибка, при которой переставала работать кластеризация при малых значениях zoom-уровня (0 или 1).
  • Исправлено некорректное поведение при клике в кластер при отображении кластеризации.
  • Исправлена ошибка, при которой карта в неинтерактивном режиме все равно оставалась кликабельной.
  • Убрано исключение при повторных удалениях подписок к каналам Channel.

Release Date: 12.08.2021

  • Исправлено падение при параллельном изменении позиции маркера и переинициализации MapObjectManager.
  • Исправлена ошибка, при которой переставала работать кластеризация при малых значениях zoom-уровня (0 или 1).
  • Исправлено некорректное поведение при клике в кластер при отображении кластеризации.
  • Исправлена ошибка, при которой карта в неинтерактивном режиме все равно оставалась кликабельной.
  • Убрано исключение при повторных удалениях подписок к каналам Channel.

Release Date: 06.08.2021

  • Исправлена проблема в навигаторе, при которой в режиме навигации происходили продолжительные фризы, а маркер позиции имел некорректное направление и смещался в случайное положение.
  • В MapObjectManager появился метод clusteringObjects(сameraPosition) для получения объектов кластеризации для заданной позиции камеры. Метод возвращает как кластеры SimpleClusterObject, так и маркеры Marker.
  • С помощью объекта SimpleClusterObject теперь можно изменять атрибуты кластера также, как и атрибуты маркеров Marker, за исключением позиции кластера.
  • Исправлена утечка памяти при удалении карты.
  • Исправлена проблема, при которой невозможно было выбрать маршрут при максимальных значениях zoom-уровня.
  • Убрали подвисание слежения за текущей позицией при смене длительности анимации в навигаторе.

Release Date: 05.08.2021

  • В MapObjectManager появился метод clusteringObjects(сameraPosition) для получения объектов кластеризации для заданной позиции камеры. Метод возвращает как кластеры SimpleClusterObject, так и маркеры Marker.
  • С помощью объекта SimpleClusterObject теперь можно изменять атрибуты кластера также, как и атрибуты маркеров Marker, за исключением позиции кластера.
  • Исправлена утечка памяти при удалении карты.

Release Date: 28.07.2021

  • В классе RouteMapObject добавлен канал calloutPositionChannel с позицией баблика над маршрутом.
  • В структуру Camera, которую возвращает NavigationManager, добавлено поле range - информация о радиусе действия камеры.
  • Была разделена озвучка навигатора в зависимости от типа маршрута - пешеходный/велосипедный/автомобильный.

Release Date: 28.07.2021

  • Исправлена ошибка, когда через MapObjectManager добавляется на карту маркер до полной загрузки изображения.

  • Обновлен логотип 2ГИС + СБЕР на карте.

  • Оптимизация создания/удаления MapTextureView.

  • Исправлена ошибка, при которой карта не обновлялась, когда удалялись маркера при кластеризации через MapObjectManager.

  • Теперь события в MapEventProcessor не обрабатываются, если карта не интерактивна.

  • Обновлены общие стили:

    1. В редактор перенесены:

      A. Стрелки манёвров (Линия маршрута на авто => 4 слоя Стрелки манёвров*).

      B. Начальная, конечная, промежуточная точка маршрута, а также точка соединения разных частей маршрутов (слои Точка Б, Точка А, Соединительные точки, Промежуточные точки в каталоге Динамические объекты).

      C. Маркеры поисковой выдачи (слои Поисковой маркер выделение, Поисковой маркер, Генерализованный маркер в каталоге Динамические объекты).

      D. Объекты на маршруте (слои в каталогах TUGC на маршруте в режиме ведения и TUGC на маршруте).

      E. Пешеходные части маршрутов (слои в каталогах Линия пешего маршрута в ведении и Линия пешего маршрута).

      F. Маркер геопозиции для пешеходного режима (слои Маркер с направлением, Маркер без направления, Устаревший маркер без направления в каталоге Динамические объекты).

      Теперь эти объекты настраиваются из редактора и не отображаются безусловно поверх всего. Слои нужно скопировать в свои стили и расположить в аналогичном порядке, чтобы все объекты отображались с новой версией SDK корректно. Для копирования слоя можно выделить нужные слои, нажать Ctrl+C/Cmd+C и открыть в том же окне другой стиль.

    2. Удалён слой Маркер пешком. Его также нужно удалить в собственных стилях.

    3. Изменены слои для отображения подъездов (слои Подъезды над домами и Подъезды под домами). Теперь данные задаются не через JSON, а выбраны правильные слои во вкладке Данные. Также в ночной теме у подъездов под домами убран шрифт, чтобы они отображались без подписей. Нужно внести аналогичные изменения в собственных стилях.

    4. В ночную тему в каталог Подписи гео объектов добавлены слои Подписи горных хребтов и Подписи платформ, а в каталог Достопримечательности — слой Граффити.

    5. В дневную тему в каталог Достопримечательности добавлены слои Ёлочный базар, Полиция, Душевая кабина, Танцпол.

    6. Изменены слои в каталоге Дороги, требуется их обновить в собственных стилях.

Release Date: 23.07.2021

  • Исправлена проблема с ведением по длинному маршруту: обновление маркера геопозиции и всей карты происходило рывками. Теперь обновление карты происходит плавно.

  • Исправлена ошибка, когда через MapObjectManager добавляется на карту маркер до полной загрузки изображения.

  • Обновлен логотип 2ГИС + СБЕР на карте.

  • Оптимизация создания/удаления MapTextureView.

  • Исправлена ошибка, при которой карта не обновлялась, когда удалялись маркера при кластеризации через MapObjectManager.

  • Теперь события в MapEventProcessor не обрабатываются, если карта не интерактивна.

  • Обновлены общие стили:

    1. В редактор перенесены:

      A. Стрелки манёвров (Линия маршрута на авто => 4 слоя Стрелки манёвров*).

      B. Начальная, конечная, промежуточная точка маршрута, а также точка соединения разных частей маршрутов (слои Точка Б, Точка А, Соединительные точки, Промежуточные точки в каталоге Динамические объекты).

      C. Маркеры поисковой выдачи (слои Поисковой маркер выделение, Поисковой маркер, Генерализованный маркер в каталоге Динамические объекты).

      D. Объекты на маршруте (слои в каталогах TUGC на маршруте в режиме ведения и TUGC на маршруте).

      E. Пешеходные части маршрутов (слои в каталогах Линия пешего маршрута в ведении и Линия пешего маршрута).

      F. Маркер геопозиции для пешеходного режима (слои Маркер с направлением, Маркер без направления, Устаревший маркер без направления в каталоге Динамические объекты).

      Теперь эти объекты настраиваются из редактора и не отображаются безусловно поверх всего. Слои нужно скопировать в свои стили и расположить в аналогичном порядке, чтобы все объекты отображались с новой версией SDK корректно. Для копирования слоя можно выделить нужные слои, нажать Ctrl+C/Cmd+C и открыть в том же окне другой стиль.

    2. Удалён слой Маркер пешком. Его также нужно удалить в собственных стилях.

    3. Изменены слои для отображения подъездов (слои Подъезды над домами и Подъезды под домами). Теперь данные задаются не через JSON, а выбраны правильные слои во вкладке Данные. Также в ночной теме у подъездов под домами убран шрифт, чтобы они отображались без подписей. Нужно внести аналогичные изменения в собственных стилях.

    4. В ночную тему в каталог Подписи гео объектов добавлены слои Подписи горных хребтов и Подписи платформ, а в каталог Достопримечательности — слой Граффити.

    5. В дневную тему в каталог Достопримечательности добавлены слои Ёлочный базар, Полиция, Душевая кабина, Танцпол.

    6. Изменены слои в каталоге Дороги, требуется их обновить в собственных стилях.

Release Date: 13.07.2021

  • Поиск пешеходных маршрутов - RoutingType.PEDESTRIAN, RouteInfo.pedestrianObstacles
  • Поиск маршрутов на общественном транспорте - RoutingType.PUBLIC, TrafficRoute.publicTransport
  • Возможность выбора голоса навигатора - NavigationManager.voiceSelector, VoiceManager
  • Скачивание offline-территорий - TerritoryManager
  • Управление этажными планами - Map.indoorManager
  • Получение и установка уровня отрисовки объектов карты - SimpleMapObject.zIndex
  • Возможность указать, какие части маршрута отображаются на карте - RouteMapObject.displayFlags
  • Получение изображений полосности - getLanesControlImages
  • Обновление маркера местоположения в навигаторе при сходе с маршрута
  • Обновленный copyright на карте
  • Ломающее изменение: В RouteInfo вместо длины маршрута теперь маршрут(TrafficRoute) целиком

Release Date: 09.07.2021

🎉 Первый публичный релиз! 🎉

  • Ломающее изменение: Изменено разбиение по пакетам - удален ru.dgis.sdk.context, его содержимое расположено в ru.dgis.sdk
  • Кластеризация для Marker-ов - MapObjectManager.withClustering, SimpleClusterRenderer, SimpleClusterOptions
  • Уменьшен размер map-сборки - убрали работу с offline справочником и картой
  • UI контрол пробок - TrafficControl
  • Задание частоты обновления карты в режиме энергосбережения - MapOptions.powerSavingMaxFps
  • Задание расположения надписи относительно маркера - TextStyle.textPlacement, TextStyle.textOffset
  • Возможность задать обработчик при нажатии на копирайт - MapView.setUriOpener
  • Ломающее изменение: Функция toMapGeometry(trafficRoute, routePoint) переименована в remainingRouteGeometry
  • Оптимизация работы с сетевыми соединениями

Release Date: 07.06.2021

  • Обновлены стандартные стили карты - исправлены размеры надписей и иконок

Release Date: 03.06.2021

  • Возможность задания порядка отображения объектов карты - MarkerOptions.zIndex, PolygonOptions.zIndex, и тд.
  • Возможность отключения анимации появления/исчезновения маркеров MarkerOptions.animatedAppearance
  • Учет локалей при отображении карты и поиске, возможность задания локалей, отличных от системных - LocaleManager.setOverridedLocales
  • Возможность определения геометрии оставшейся части маршрута - toMapGeometry(trafficRoute, currentRoutePoint)
  • Ломающее изменение: Вместо MapOptions.style теперь MapOptions.styleFile, что позволяет задать стиль синхронно. Методы StyleBuilder.loadStyleFromXxx заменены на StyleBuilder.loadStyle(styleFile)
  • Ломающее изменение: Удален устаревший класс MarkerBuilder, вместо него нужно использовать Marker, MapObjectManager
  • Ломающее изменение: Изменена размерность LogicalPixel - теперь они совпадают с dp (в дюйме 160 логических пикселей). Это приводит к изменению размеров объектов карты, нужно заново настроить стили, зато карта в приложении выглядит так же, как в редакторе
  • Скрыты классы предназначенные для внутреннего использования
  • Исправлено отображение карты при нулевом z-уровне

Release Date: 27.05.2021

  • Исправлена обработка долгого нажатия на карту - TouchEventsObserver.onLongTouch

Release Date: 25.05.2021

  • Возможность задания угла наклона камеры в зависимости от масштаба - ZoomToTiltRelation, Camera.zoomToTiltRelation
  • Проверка пересечения геометрий - Geometry.hasIntersection
  • Возможность задать пользовательский обработчик логирования - LogOptions.customSink
  • Возможность задать пользовательский обработчик жестов - MapGestureRecognitionEngine, MapView.useCustomGestureRecognitionEngine
  • Режим масштабирования карты теперь задается через GestureManager.setSettingsAboutMapPositionPoint и влияет на все жесты
  • Признак, что первый элемент поисковой выдачи пригоден для непосредственного использования - SearchResult.autoUseFirstResult
  • Изменение интерфейса MapObjectManager - конструкторы Marker, Polygon и тд. вместо MapObjectManager.createMarker/createPolygon, методы MapObjectManager.addObject/addObjects/removeObject и др.
  • Изменён порядок параметров в calcPosition и zoomOutToFit
  • DataCollectStatus переименован в PersonalDataCollectionConsent
  • Упрощена инициализация SDK из Java - некоторые параметры DGis.initialize стали опциональными
  • Исправление в кешировании тайлов карты

Release Date: 05.05.2021

  • Исправлена ошибка при добавлении маркера - по умолчанию, он направлен вверх экрана независимо от поворота карты.
  • Ломающее изменение. Изначальный поворот маркера (MarkerOptions.iconMapDirection) и поворот существующего маркера (Marker.iconMapDirection) теперь optional.

Release Date: 30.04.2021

  • Исправлено промаргивание карты черным цветом при ее создании
  • Возможность задать поворот маркера MarkerOptions.iconMapDirection, Marker.iconMapDirection
  • В копирайте на карте по умолчанию не отображается версия SDK, чтобы включить нужно задать MapView.showApiVersionInCopyrightView = true
  • Информация о положении камер в навигаторе - Camera.geoPoint, Camera.bearing
  • Возможность задать positionPoint в функциях calcPosition и zoomOutToFit
  • Функции для создания объектов заменены на конструкторы createMapObjectManager -> MapObjectManager, Geometry.createPoint -> PointGeometry и т.д.

Release Date: 23.04.2021

  • исправлен учет масштаба карты
  • минимальный масштаб (CameraZoomRestrictions.minZoom) теперь по умолчанию - 2
  • убрано вытеснение маркеров друг другом
  • исправление в обработке статистики

Release Date: 22.04.2021

  • возможность использования SVG изображений для маркеров - imageFromAsset(context, "some.svg"), imageFromSvg(context, svgData)
  • исправлены падения при оптимизации кода с помощью ProGuard
  • исправлен учет видимости полилинии PolylineOptions.visible, Polyline.isVisible
  • добавили сбор анонимной статистики использования, по умолчанию включено (параметр dataCollectStatus в DGis.initialize), отключать рекомендуется только в случае явного выбора пользователем(например, отказ GDPR)
  • на изображении карты(MapView.takeSnapshot) отображается копирайт
  • возможность задать собственную траекторию перемещения камеры - Camera.move(moveController)
  • свойство padding перемещено из Map в Camera
  • возможность задать поведение камеры при изменении padding - Camera.setPadding(padding, positionPointChangeBehaviour)
  • при поиске(SearchManager) учитывается местоположение пользователя
  • свойство GeometryMapObject.originalGeometry переименовано в geometry
  • удалено свойство GeometryMapObject.shift вместо него нужно использовать установку geometry
  • Исправлены типы параметров registerPlatformLocationSource, registerPlatformMagneticSource - LocationSource, MagneticHeadingSource вместо Any
  • ускорено получение результата срабатывания Future и Channel
  • удалены устаревшие методы Future и Channel

Release Date: 14.04.2021

  • возможность задать произвольную тему карты - MapOptions.lightTheme, MapOptions.darkTheme, Map.setTheme(light, dark), Map.setTheme(name)
  • управление и получение информации о http-кэше - HttpCacheManager
  • дополнительные конструкторы data-типов - GeoPoint(lat: Double, lon: Double), Color(r, g, b, a) и др.
  • информация о полосах движения маршрута - RouteInfo.laneSigns
  • возможность вращать/масштабировать карту относительно ее центра(а не центра жеста) - RotationSettings.rotateAboutMapPositionPoint, ScalingSettings.scalingAboutMapPositionPoint
  • возможность задать скорость движения в симуляции навигации - SimulationSettings.speed
  • убрана тонкая черная граница у объектов карты, когда она не задана
  • исправлено падение при удалении карты на эмуляторах
  • исправлено падение при задании LocationSource
  • Ломающиее изменение: TextStyle.fontSize, TextStyle.strokeWidth имеют тип LogicalPixel, а не Float
  • Ломающиее изменение: вместо navigation.Model.laneSign теперь navigation.Model.laneSignIndex, а LaneSign можно получить по этому индексу из RouteInfo.laneSigns

Release Date: 07.04.2021

  • добавили метод takeSnapshot для получения последнего отрисованного кадра в картинку
  • параметр interactive для отключения возможности взаимодействия пользователя с картой
  • добавили renderMode. Теперь можно отрисовывать карту в TextureView
  • добавили полилинию с градиентом
  • Ломающее изменение: обновили класс GeoRect
  • removeSource больше не бросает исключение. Даже если источник не был добавлен на карту

Release Date: 24.03.2021

Release Date: 17.03.2021

  • Ломающее изменение: мы изменили формат работы с подписками на изменения свойств. Раньше такие поля как camera.position имели тип StatefulChannel. Для того чтобы получать уведомления об изменениях данных в Channel нужно вызвать camera.position.connect(), а получить текущее значение можно через camera.position.value. Такой API вызывал вопросы, поэтому в новой версии camera.position(и другие свойства StatefulChannel) это просто getter/setter. А для подписки на изменение нужно использовать camera.positionChannel
  • добавили кэш для тайлов на карте. По умолчанию кэш включен, и максимальный размер хранилища 300Мб. Его можно отключить или изменить его размер в настройках HttpOptions
  • Padding на карте
  • для объектов Polygon/Polyline добавилась возможность изменить текущую геометрию
  • добавили источник для растровых тайлов(см. createRasterTileDataSource)
  • поддержали атрибут theme для стилей карты выгруженных из редактора
  • методы для создания иконки маркера imageFromAsset/imageFromCanvas/imageFromResource переместили в пакет ru.dgis.sdk.map
  • сконвертировали методы в property в случаях когда такая форма более логична(напр. enabledGestures)

Release Date: 04.03.2021

  • высокоуровневый API для динамических объектов карты(см. MapObjectManager)
  • методы visibleArea, visibleRect для получения видимой области карты
  • источник TrafficSource для отображения пробочных тайлов на карте
  • получение геометрии из TrafficRoute
  • исправления в сигнатурах функций. Большинство методов теперь возвращает non-nullable значения

Release Date: 15.02.2021

  • разделили SDK на 2 артефакта. sdk-map - версия для тех кому нужна только карта и справочник. sdk-full - более полная, содержит в себе навигатор. В build.gradle необходимо указать нужную версию(напр. implementation 'ru.dgis.sdk:sdk-map:0.6.0')
  • карта и контролы теперь доступны и в темной теме
  • добавили уровень логирования. По умолчанию SDK пишет только Warning и более критичные сообщения
  • методы для вычисления позиции камеры и Zoom Level по заданной геометрии
  • источник для данных с кластеризацией
  • добавили возможность задать координату с высотой для маркера
  • для динамических объектов на карте, добавили возможность определить пользовательские данные
  • поддержали создание маркера с текстом, без иконки
  • Ломающее изменение: иконку маркера необходимо указывать через объект стилей. Формирование стиля маркера с иконкой может занимать значительное время т.к. для этого может понадобится растеризация/сжатие изображения. Мы настоятельно рекомендуем делать это в фоновом потоке и переиспользовать MarkerStyle для однотипных маркеров.

Release Date: 04.02.2021

  • исправлен баг с ключами API(проявлялось как 403 от сервера тайлов)
  • звуковое оповещение о превышении скорости в навигаторе
  • получение пробочного балла в TrafficManager
  • landscape Ui в навигаторе

Release Date: 26.01.2021

  • приглушение других звуков при проигрывании инструкций навигатора
  • редизайн Ui навигатора
  • исправление ошибок

Release Date: 20.01.2021

  • вернули map.camera

Release Date: 19.01.2021

  • ViewportPoint переименован в ScreenPoint, ViewportSize -> ScreenSize
  • фикс слоя для маркеров
  • добавлен GestureManager
  • добавили возможность отменять Future
  • изменили работу с Any типами (см. пример)

Release Date: 22.12.2020

  • режим слежения за маркером местоположения
  • поддержка offline данных в downloads директории
  • воспроизведение голосовых инструкций с учетом скорости на маршруте
  • searchById в модуле справочника
  • добавили свойство renderView у объекта MapView

Release Date: 15.12.2020

  • голосовые инструкции в навигаторе во время ведения по маршруту
  • поддержали жест наклона карты

Release Date: 09.12.2020

  • добавлен новый DgisSource. Для работы c объектами 2GIS
  • Ломающее изменение: DgisSourceCreator был удален. Вместо него стоит использовать статические методы DgisSource
  • в RouteParams добавлена поддержка промежуточных точек

Release Date: 03.12.2020

  • уменьшили размер библиотеки
  • UI контролы карты и навигатора
  • баблики с дополнительной информацией по найденному маршруту

Release Date: 24.11.2020

Release Date: 17.11.2020

  • данные, необходимые для инициализации SDK, теперь зашиты в пакет. Больше нет необходимости в предустановленных данных
  • отображение поисковой выдачи с генерализацией как в мобильном 2GIS
  • работа с FollowManager. Позволяет следить за точкой на карте
  • для карты Online Data Source выбирается по умолчанию
  • научили наш 3d engine работать с SVG
  • в стриме событий навигатора добавилась координата следующего маневра

Release Date: 09.11.2020

  • поддержка drag для объектов карты
  • в RouteEditor теперь можно выбирать маршрут по клику в него
  • "съедание" маршрута при запуске навигатора
  • исправления в расчете ETA

Release Date: 02.11.2020

Release Date: 27.10.2020

  • исправлен баг c ClassLoader при использовании sharedUserId
  • в найденном маршруте можно получить расстояние в метрах через route.length
  • добавлен обработчик для уменьшения потребления памяти
  • в MapView добавлена работа с TouchEventsObserver

Release Date: 20.10.2020

Release Date: 08.10.2020

Release Date: 22.09.2020

  • добавление кастомных геометрий

подробнее: https://telegra.ph/NativeSDK-012-09-22

Release Date: 15.09.2020

  • темная тема карты

подробнее: https://telegra.ph/NativeSDK-011-09-15

Release Date: 08.09.2020

  • online карта
  • изменения в API для инициализации SDK
  • гибридный справочник(online + offline)

подробнее: https://telegra.ph/NativeSDK-010-09-08

Release Date: 21.08.2020

  • online справочник

подробнее: https://telegra.ph/NativeSDK-001-08-20