Android SDK Релизы | 2GIS Documentation

Release notes

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