Android SDK Release notes | 2GIS Documentation

Release notes

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