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

Release notes

Release Date: 06.09.2021

  • Исправлена проблема с освобождением памяти после удаления MapView.
  • Исправлена проблема смены иконки у маркера через Marker.icon, при которой до появления нового загруженного изображения отрисовывалась пустая иконка. Теперь до загрузки нового изображения отображается старое.
  • Доработана отрисовка перекрытий на дороге поверх пробок.
  • Реализован контрол пробок TrafficControl для включения отрисовки пробок на карте и отображения пробочного балла. Получить объект контрола можно с помощью IMapControlFactory.makeTrafficControl.
  • Исправлено падение Mobile SDK на iOS 15 beta, когда приложение находилось в свернутом состоянии.

Release Date: 03.09.2021

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

Release Date: 24.08.2021

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

Release Date: 13.08.2021

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

Release Date: 12.08.2021

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

Release Date: 06.08.2021

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

Release Date: 05.08.2021

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

Release Date: 28.07.2021

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

Release Date: 28.07.2021

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

  • Добавлен новый протокол IEnergyConsumption для установки максимального fps в обычном режиме и в режиме энергосбережения.

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

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

  • Частично исправлена проблема утечки памяти при частом обновлении геометрии у объектов карты (например, раз в 10 мс менять точки у полилинии). Полное исправление будет в следующих релизах.

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

    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 добавляется на карту маркер до полной загрузки изображения.

  • Добавлен новый протокол IEnergyConsumption для установки максимального fps в обычном режиме и в режиме энергосбережения.

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

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

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

    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 есть массив с описанием всех препятствий на пешеходном маршруте RouteInfo.pedestrianObstacles.
  • Добавлена поддержка маршрутов на общественном транспорте с типом RoutingType.Public.
  • Реализован интерфейс TerritoryManager для скачивания offline-территорий.
  • Добавлены NavigationVoice и VoiceSelector для выбора озвучки и голоса навигатора.
  • Реализован VoiceManager для взаимодействия со списком голосовых пакетов навигатора.
  • Реализован основной функционал управления этажными планами через Map.indoorManager.
  • Добавлена возможность получения и установки zIndex у SimpleMapObject объектов.
  • Добавлена возможность указать, какие части маршрута отображаются на карте через RouteMapObject.displayFlags.
  • Стала доступна функция getLanesControlImages для получения списка иконок полос, поставляемых вместе с SDK.
  • Обновлен логотип copyright на карте.
  • Обновление маркера местоположения в навигаторе при сходе с маршрута.
  • Ломающее изменение. В классе RouteInfo для описания маршрута вместо длины маршрута теперь добавлен маршрут TrafficRoute целиком.

Release Date: 08.07.2021

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

  • Ломающее изменение. Изменены названия пакетов - PlatformSDK и PlatformMapSDK переименованы в DGis независимо от типа сборки.

  • Уменьшен размер Map-версии SDK - убрали работу с offline справочником и источником данных карты.

    Для Map-версии в ISearchManagerFactory остался только метод makeOnlineManager для создания online справочника, а makeOfflineManager и makeSmartManager теперь доступны только в Full-версии.

    Для Map-версии в ISourceFactory удален метод createOfflineDGISSource для создания offline источника данных карты.

  • В MapObjectManager теперь можно включать режим кластеризации для Marker объектов.

    Для инициализации кластеризации необходимо создать объект MapObjectManager с помощью MapObjectManager.withClustering(map:logicalPixel:maxZoom:clusterRenderer:).

    Четвертый параметр - это пользовательская реализация протокола ISimpleClusterRenderer для кастомизации рендеринга кластеров на карте. Сама кастомизация происходит на основе объекта SimpleClusterOptions, который возвращается в результате вызова функции ISimpleClusterRenderer.renderCluster.

  • С помощью TextStyle.textPlacement и TextStyle.textOffset теперь можно задавать расположение надписи относительно маркера.

  • Добавлена возможность задания угла наклона камеры в зависимости от масштаба - ZoomToTiltRelation, Camera.zoomToTiltRelation.

  • В LogOptions появилась возможность задать пользовательский обработчик логирования. Для этого необходимо реализовать протокол ILogSink и передать объект в LogOptions.customSink.

  • Ломающее изменение: Функция toMapGeometry(trafficRoute:currentRoutePoint:) для получения геометрии оставшейся части маршрута переименована в remainingRouteGeometry(trafficRoute:currentRoutePoint:).

  • Оптимизация работы с сетевыми соединениями.

Release Date: 07.06.2021

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

Release Date: 02.06.2021

  • При создании объектов карты появилась возможность задавать порядок их отрисовки через MarkerOptions.zIndex, PolygonOptions.zIndex и т.д. Значение индекса влияет на приоритет объекта при наложении элементов на карте.

  • Упрощение создания простых типов данных: Arcdegree, Color, Elevation, GeoPoint, GeoPointWithElevation, LogicalPixel, Meter, Tilt и Zoom.

    Например, раньше при создании объекта типа GeoPoint необходимо было конструировать объекты типа Arcdegree.

    let geoPoint = GeoPoint(latitude: Arcdegree(value: 54.0), longitude: Arcdegree(value: 32.0))

    Теперь доступна инициализация GeoPoint из пары значений CLLocationDegrees.

    let geoPoint = GeoPoint(latitude: 54.0, longitude: 32.0).

  • Добавлена возможность задавать список локалей в обход системных настроек с помощью LocaleManager.setOverridedLocales. Для возврата к системным локалям необходимо передать пустой список в метод LocaleManager.setOverridedLocales.

  • Добавлена функция toMapGeometry(trafficRoute:currentRoutePoint:) для получения геометрии оставшейся части маршрута.

  • Исправлено отображение карты при нулевом z-уровне.

  • Добавлена возможность отключения анимации при появлении или исчезновении объектов на карте через MarkerOptions.animatedAppearance и Marker.setAnimatedAppearance.

  • Поддержана установка корректного DPI при создании карты. Теперь помимо установки DPI через MapOptions.devicePPI можно задать MapOptions.deviceDensity - множитель, равный числу физических пикселей устройства в одной логической точке экранной системы координат. Из-за того, что deviceDensity не устанавливался, объекты на карте на различных z-уровнях имели некорректные размеры.

    Например, для заданного экрана (UIScreen) этот множитель равен значению nativeScale. По умолчанию берется nativeScale главного экрана.

  • Ломающее изменение. Удален устаревший класс MarkerBuilder для создания объектов карты. Вместо него нужно использовать класс MapObjectManager для добавления объектов; конструкторы Marker, Polygon и т.д. для их создания.

Release Date: 25.05.2021

  • Добавлена возможность проверки пересечения геометрий - Geometry.hasIntersection.

  • В SearchResult добавлен признак autoUseFirstResult, который обозначает, что первый элемент поисковой выдачи наиболее подходит для перелета или построения маршрута к нему.

  • Исправлена ошибка в механизме сетевого кеширования, приводящая к медленной записи сетевых ответов на файловую систему устройства.

  • Ломающее изменение. Изменение интерфейса MapObjectManager.

    Теперь объекты карты создаются через конструкторы Marker, Polygon и т.д. вместо MapObjectManager.addMarker или MapObjectManager.addPolygon.

    Для добавления или удаления объектов карты теперь нужно использовать методы MapObjectManager.addObject/addObjects/removeObject и т.д. При добавлении нескольких объектов эффективнее всего использовать MapObjectManager.addObjects.

  • Ломающее изменение. Изменён порядок параметров функций calcPosition и zoomOutToFit.

  • Ломающее изменение. Настройка сервиса сбора данных DataCollectStatus переименована в PersonalDataCollectionConsent.

  • Ломающее изменение. В конструкторе Container параметр dataCollectStatus также переименован в personalDataCollectionConsent.

Release Date: 05.05.2021

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

    По умолчанию маркер был направлен на север. Это приводило к тому, что его угол поворота зависел от угла поворота карты.

    Теперь маркер направлен к верху экрана устройства независимо от поворота карты.

  • Ломающее изменение. Изначальный поворот маркера (MarkerOptions.iconMapDirection) и поворот существующего маркера (Marker.iconMapDirection) теперь имеют зануляемый тип MapDirection?.

    Нулевое значение означает, что маркер будет направлен к верху экрана устройства независимо от поворота карты.

Release Date: 30.04.2021

  • Добавлена возможность задать поворот маркера. Изначальный поворот — MarkerOptions.iconMapDirection; поворот существующего маркера — Marker.iconMapDirection.
  • В копирайте на карте по умолчанию не отображается версия SDK. Чтобы включить, нужно установить MapView.showsAPIVersion в true.
  • Добавлена возможность получения местоположения и направления камер в навигаторе: Camera.geoPoint, Camera.bearing.
  • Добавлена возможность задать точку местоположения (positionPoint) в функциях calcPosition и zoomOutToFit.
  • Ломающее изменение. Многие функции создания объектов заменены на инициализаторы соответствующего типа. Например: createMapObjectManagerMapObjectManager.init; Geometry.createPointPointGeometry.init и т.д.

Release Date: 24.04.2021

  • Исправлены параметры при сборе статистики.

Release Date: 23.04.2021

  • Исправлено отображение карты на разных масштабах.
  • Исправлен механизм сбора статистики.
  • Исправлена проблема с маркерами, при которой они вытесняли друг друга на разных масштабах.
  • Установлено минимальное значение zoom-левела равное 2.

Release Date: 22.04.2021

  • Исправлено потенциальное падение при передаче MapOptions с ненулевым styleFuture в Container.makeMapFactory(options:).

  • Исправлено потенциальное падение при уничтожении объектов карты (IMapFactory).

  • Устранена утечка одного объекта при полном уничтожении контейнера SDK.

  • Улучшена обработка объектов CLLocation в реализациях протокола ILocationProvider.

    Прежде, если местоположение содержало одновременно корректные и некорректные компоненты (например, имеются геокоординаты, но отсутствует значение скорости), объект не учитывался целиком. Это сопровождалось сообщением Platform sent an invalid location в журнале.

    Теперь в таком случае учитываются верные компоненты. Сообщение пишется тогда, когда в SDK передаётся полностью некорректное местоположение.

  • Добавлено автоопределение PPI карты на основании модели головного устройства. См. DevicePpi.autodetected. Настройки карты по умолчанию (MapOptions.default) используют этот PPI; а в случае неподдерживаемого устройства проставляется DevicePpi.defaultForFailedAutodetection.

  • Тип DevicePpi теперь реализует протокол ExpressibleByFloatLiteral.

  • Добавлена возможность задавать тему карты и включать автопереключение темы на iOS 13.

    Новый тип Theme соответствует теме в рамках стиля. Новый тип MapAppearance указывает набор тем и способ их применения: .universal для фиксированной темы; .automatic для автопереключения между светлой и тёмной темой на iOS 13.

    Настройку тем можно задать в MapOptions.appearance при создании объектов карты вызовом Container.makeMapFactory(options:). Последующее переключение доступно установкой свойства IMapView.appearance.

  • Ломающее изменение. Тип MapOptions.devicePpi изменился c CGFloat? на DevicePpi? в целях улучшения документации.

  • Добавлен сбор анонимной статистики использования. По умолчанию включён. См. параметр dataCollectionOptions у Container.init.
    Отключать рекомендуется только в случае явного выбора пользователем (например, отказ GDPR).

Release Date: 15.04.2021

  • Управление и получение информации о HTTP-кеше — HttpCacheManager.
  • Нестатические свойства большинства структур сделаны изменяемыми (т.е. letvar).
  • Информация о полосах движения маршрута - RouteInfo.laneSigns.
  • Убрана тонкая черная граница у объектов карты, когда она не задана.
  • Типы ScreenPoint, ScreenSize, ScreenShift реализуют Equatable и Hashable.
  • Добавлены конструкторы ScreenPoint(_: CGPoint), ScreenSize(_: CGSize), ScreenShift(_: CGVector).
  • Ломающиее изменение: TextStyle.fontSize, TextStyle.strokeWidth имеют тип LogicalPixel, а не Float.
  • Ломающиее изменение: В модели навигатора: вместо Model.laneSign теперь Model.laneSignIndex. LaneSign можно получить по этому индексу из RouteInfo.laneSigns.
  • Ломающее изменение: Метод для создания пользовательского слоя обработки жестов принимает меньшее число парамтеров: IMapGestureViewFactory.makeGestureView(map:coordinateSpace:). Убран параметр eventProcessor: вместо него нужно использовать метод Map.processEvent.

Release Date: 07.04.2021

  • добавили инструмент для получения последнего отрисованного кадра карты в виде изображения — IMapFactory.snapshotter.makeImage()
  • removeSource больше не бросает исключение. Даже если источник не был добавлен на карту
  • добавили полилинию с градиентом
  • cоздание пользовательского слоя распознавания жестов теперь возможно при инициализации карты, см. gestureViewFactory у MapOptions
  • Ломающее изменение: изменили устройство типов, связанных с картой. Теперь карту нужно создавать вызовом Container.makeMapFactory(options:) -> IMapFactory. Из него доступен контроллер карты — map, вид карты mapView и прочие вещи.
  • Ломающее изменение: обновили класс GeoRect
  • Ломающее изменение: мы изменили формат работы с подписками на изменения свойств. Раньше такие поля как Map.camera.position имели тип StatefulChannel. Прежде получали уведомления об изменениях значений свойств с помощью camera.position.sink(receiveValue:), а текущее значение через camera.position.value. Такой API вызывал трудности и был менее эффективен, поэтому в новой версии, например, camera.position — это просто свойство типа CameraPosition; а camera.positionChannelStatefulChannel<CameraPosition>. Это изменение в силе для всех свойств, ранее имевших тип StatefulChannel`.

Release Date: 24.03.2021

  • добавили возможность рисовать пунктирную линию
  • opacity для Marker
  • функции конверторы для работы со Style Zoom(projectionZToStyleZ, styleZToProjectionZ)
  • для работы с атрибутами карты добавлен новый тип AttributeValue
  • из DgisMapObject больше нельзя получить Future на объект справочника. Для этого нужно использовать SearchManager
  • настройки HTTP-клиента: время ожидания, наличие и размер дискового кеша
  • возможность задавать собственные реализации сервисов геопозиционироваания или отключать их (например, для симулятора)

Release Date: 17.03.2021

  • добавили кэш для тайлов на карте. Возможность конфигурировать размер кэша появится в следующем релизе
  • Padding на карте
  • для объектов Polygon/Polyline добавилась возможность изменить текущую геометрию
  • добавили источник для растровых тайлов(см. createRasterTileDataSource)
  • поддержали атрибут theme для стилей карты выгруженных из редактора