Релизы
Важно: Поддержка версий API, описанных ниже, прекращена. Используйте версии 10.0 и выше. См. инструкции по миграции с более низких версий.
7.4.1 (2023-12-29)
🛠 Исправления
- Исправлен рендеринг карты - карта зависала при отображении модального окна над
MapView.
7.4.0 (2023-11-15)
🌟 Новые возможности
- Добавлены
MarkerOptions.iconAnimationModeиMarker.iconAnimationModeдля возможности задания режима анимации в маркерах. Режим может быть обычным или зацикленным.
🛠 Исправления
- Оптимизировано и исправлено отображение карты на последних версиях iOS.
- Исправлена работа метода
SimpleClusterObject.setIconпри первом вызове. - Исправлена работа кластеризации через
MapObjectManager.withClustering, если передать дробные значенияminZoomиmaxZoom. - Обновлен логотип 2GIS в копирайте на снапшотах карты.
- В
NavigationViewпри отображении полного маршрута отображается только оставшаяся часть маршрута. - По умолчанию отключено кэширование тайлов
FreeRoamпри навигации для уменьшения запросов к бэкендам.
7.3.1 (2023-08-16)
🛠 Исправления
- Теперь при формировании запроса в справочник через
SearchQueryBuilderдля определения локали всегда берется первое значение из методаLocaleManager.locales, если не удалось определить локаль по области поиска.
7.3.0 (2023-08-07)
🛠 Исправления
- Теперь при формировании запроса в справочник через
SearchQueryBuilderдля определения локали не используется текущая геопозиция пользователя, а берется первое значение из методаLocaleManager.locales, если вSearchQueryBuilderявно не задана область для поиска. - Исправлена ошибка, возникающая при обращении к полям
SimpleClusterObjectпри формировании кластера в реализации методаSimpleClusterRenderer.renderCluster.
7.2.1 (2023-07-31)
🌟 Новые возможности
- Добавлены два метода
SearchQueryBuilder.fromRubricIdsиSearchQueryBuilder.fromQueryTextAndRubricIdsдля создания поисковых запросов с фильтрацией по идентификаторам рубрик. - Добавлено новое поле
DirectoryObject.tradeLicenseс информацией о лицензии организации.
7.1.0 (2023-07-20)
🛠 Исправления
- Поддержана работа справочника с новым форматом ключей.
- Исправлено получение snapshot карты методом
IMapSnapshotter.makeImageпри переходе приложения из состояния background в foreground. - Исправлен расчет оставшегося рабочего времени организации в
Directory.workStatusпри офлайн поиске. - Контрол
TUGCв режимеFreeRoamдоступен только при добавленииRoadEventSourceна карту.
5.4.0 (2023-07-20)
🛠 Исправления
- Поддержана работа справочника с новым форматом ключей.
- Исправлено получение snapshot карты методом
IMapSnapshotter.makeImageпри переходе приложения из состояния background в foreground.
5.3.0 (2023-06-19)
🌟 Новые возможности
- Появилась возможность задавать исключаемые области при поиске маршрутов через
ExcludedArea. - В
INavigationViewдобавлено отображение названия организации назначения при Indoor навигации.
🛠 Исправления
- Исправлена ошибка при двойном тапе в карту и резком изменении масштаба.
- Исправлено потенциальное падение при добавлении маркера на карту с подписью через
Marker. - В
INavigationViewисправлено скрывание контролов карты через 10 секунд в случае, если пользователь не взаимодействует с картой. - В
INavigationViewисправлена кнопка добавления TUGC на карту на панели ETA.
Миграция с версий 5.x на 7.х
Для всех типов Mobile SDK:
- Заново выгрузить стили.
- Методы
DgisSource.createOnlineDgisSourceиDgisSource.createOfflineDgisSourceудалены. Вместо них нужно использоватьDgisSource.createDgisSourceс дополнительным параметромDgisSourceWorkingMode- режим работы карты. Сейчас доступно четыре режима работы:online,offline,hybridOnlineFirstиhybridOfflineFirst. FollowControllerтеперь возвращаетStyleZoom, а неZoom.FollowValue.zoomпереименован вFollowValue.styleZoom.ZoomFollowControllerпереименован вStyleZoomFollowController.ZoomToTiltRelationпереименован вStyleZoomToTiltRelation.SpeedRangeToZoomпереименован вSpeedRangeToStyleZoom.- Метод
Projection.screenToMapтеперь вместо исключения возвращает пустое значение, если точка находится за пределами карты. - Метод
BaseCamera.setPaddingудален. EnumCameraPositionPointChangeBehaviourтакже удален. ПолеBaseCamera.paddingтеперь является сеттером. - Методы
Camera.animatedMoveStartedиCamera.animatedMoveFinishedудалены. Вместо них можно использовать каналCamera.stateChannel. - Методы
SearchManager.createOnlineManager,SearchManager.createOfflineManagerиSearchManager.createSmartManagerпомечены какthrows. - Сеттеры
BaseCamera.positionиBaseCamera.zoomRestrictionsудалены. МетодыBaseCamera.setPosition,BaseCamera.setZoomRestrictionsиBaseCamera.setPositionPointпомечены какthrows. - Сеттер
Map.fontIconSizeMultiplierудален. МетодMap.setFontIconSizeMultiplierпомечен какthrows. - Конструктор
NavigationManagerи методыNavigationManager.startиNavigationManager.startSimulationпомечены какthrows. - Геттер
Container.contextпомечен какthrows. Так же помечены все остальные методы-фабрикиContainer.
Дополнительно для полной версии:
- Изменены названия в
ZoomFollowSettings, чтобы лучше соответствовать назначению. - Метод
Model.applyBetterRouteудален. Вместо него появился методModel.betterRouteResponseи enumBetterRouteResponseдля работы с альтернативными маршрутами. - Удалено значение
State.freeRoam. Теперь для определения, что навигатор в режиме Free Roam, нужно смотреть на значениеRouteInfo.routeBuildOptions- оно должно быть пустым.
7.0.0 (2023-06-16)
🌟 Новые возможности
- Добавлена возможность устанавливать Lottie-анимацию у маркера через
Marker.icon. ВIImageFactoryдобавлен метод для полученияImagec Lottie-данными. - Добавлена UI-модель
IndoorControlModelдля реализации контрола этажных плановIndoorControl. - В
SearchResultдобавлено полеdynamicFilters- динамические фильтры, которые можно дополнительно применить для поисковой выдачи. - В
DirectoryFilterдобавлено полеdynamicдля передачи динамических фильтров. - Добавлен метод
BaseCamera.maxTiltRestrictionдля задания и получения функции зависимости максимального угла наклона камеры от стилевого zoom-уровня. - Добавлена возможность создать
MapObjectManagerс генерализацией объектов черезMapObjectManager.withGeneralization. - Добавлен метод
Projection.screenToMapClipped, который возвращает ближайшую точку карты к проекции указанной точки экрана. - В режиме навигатора теперь отображаются альтернативные маршруты, которые могут быть предложены как маршрут лучше.
Model.betterRouteChannel— канал для оповещений о появлении альтернативного маршрута.Model.betterRouteResponse— метод для подтверждения альтернативного маршрута. Маршруты настраиваются с помощьюNavigationManager.alternativeRoutesProviderSettings. - Добавлен метод
Voice.playWelcomeдля воспроизведения образца голоса в навигаторе. - В
RoutePointKindдобавлено больше типов для идентификации точечных объектов на маршруте. - Появилась возможность задавать исключаемые области при поиске маршрутов через
ExcludedArea. - В
INavigationViewдобавлено отображение названия организации назначения при Indoor навигации.
❗ Ломающие изменения
- Методы
DgisSource.createOnlineDgisSourceиDgisSource.createOfflineDgisSourceудалены. Вместо них нужно использоватьDgisSource.createDgisSourceс дополнительным параметромDgisSourceWorkingMode- режим работы карты. Сейчас доступно четыре режима работы:online,offline,hybridOnlineFirstиhybridOfflineFirst. FollowControllerтеперь возвращаетStyleZoom, а неZoom.FollowValue.zoomпереименован вFollowValue.styleZoom.ZoomFollowControllerпереименован вStyleZoomFollowController.ZoomToTiltRelationпереименован вStyleZoomToTiltRelation.SpeedRangeToZoomпереименован вSpeedRangeToStyleZoom.- Метод
Projection.screenToMapтеперь вместо исключения возвращает пустое значение, если точка находится за пределами карты. - Метод
BaseCamera.setPaddingудален. EnumCameraPositionPointChangeBehaviourтакже удален. ПолеBaseCamera.paddingтеперь является сеттером. - Методы
Camera.animatedMoveStartedиCamera.animatedMoveFinishedудалены. Вместо них можно использовать каналCamera.stateChannel. - Методы
SearchManager.createOnlineManager,SearchManager.createOfflineManagerиSearchManager.createSmartManagerпомечены, как throws. - Сеттеры
BaseCamera.positionиBaseCamera.zoomRestrictionsудалены. МетодыBaseCamera.setPosition,BaseCamera.setZoomRestrictionsиBaseCamera.setPositionPointпомечены, как throws. - Сеттер
Map.fontIconSizeMultiplierудален. МетодMap.setFontIconSizeMultiplierпомечен, как throws. - Конструктор
NavigationManagerи методыNavigationManager.startиNavigationManager.startSimulationпомечены, как throws. - Геттер
Container.contextпомечен, как throws. Также помечены все остальные методы-фабрикиContainer. - Изменены названия в
ZoomFollowSettings, чтобы лучше соответствовать назначению. - Метод
Model.applyBetterRouteудален. Вместо него появился методModel.betterRouteResponseи enumBetterRouteResponseдля работы с альтернативными маршрутами. - Удалено значение
State.freeRoam. Теперь для определения, что навигатор в режиме Free Roam, нужно смотреть на значениеRouteInfo.routeBuildOptions- оно должно быть пустым.
🛠 Исправления
- Уменьшен размер Full сборки за счет уменьшения зависимости Offline справочника от других модулей.
- Исправлены утечки памяти при разрушении карты с активным перелётом.
- Оптимизировали использование одного источника данных
DgisSource, добавленного в 2 и более объектовMap. - Исправили работу канала
Map.dataLoadingStateChannel, который теперь учитывает любую работу с картой (добавление объектов, изменение темы, добавление источников данных и т.д.). - В случаях, когда точка позиции камеры расположена ближе к нижнему краю экрана, значение максимального угла наклона камеры может быть уменьшено.
- Исправлена ошибка при двойном тапе в карту и резком изменении масштаба.
- Теперь маршрут не будет отображаться на карте в режиме навигации до появления позиции на нем.
- Исправлен возврат в режим слежения при работе навигатора по умолчанию.
- В
INavigationViewисправлено скрывание контролов карты через 10 секунд в случае, если пользователь не взаимодействует с картой. - В
INavigationViewисправлена кнопка добавления TUGC на карту на панели ETA.
🗺 Изменения в стилях карты
- Добавлена поддержка иконки
автобус + знак "Въезд запрещен"в баблах полосности. - Установлены цвета для градиента линии неактивного маршрута.
5.2.2 (2023-04-26)
🛠 Исправления
- Исправили падение, когда в ключе указаны ограничения по регионам, у которых нет офлайн-данных.
5.2.1 (2023-03-27)
🛠 Исправления
- Исправлено потенциальное падение при вращении карты.
- Исправлено потенциальное падение при анимации появления маркеров с SVG изображением.
5.2.0 (2023-03-16)
🌟 Новые возможности
- В метод
DgisSource.setHighlightedтеперь можно передавать идентификаторы входов в здание для их выделения/снятия выделения.
🛠 Исправления
- Исправлено отображение маркеров с SVG изображением.
🗺 Изменения в стилях карты
- У слоёв
Parking lots with unknown price,Parking for persons with disabilities,Parking for residents,Parking for taxi,Free parkingиCovered parkingпоменялся размер иконки. - В ночной теме в каталоге
POI iconsу слоёвAirport,Railway station,Bus terminalиPortпоменялся цвет подписи. - Изменения для выделенного состояния:
- Цвета заливки и обводки: каталог
Flat buildings. - Цвета заливки верхней плоскости, стены и обводки: каталог
Building 3D. - Иконка: слои
Entrances, under buildings,Entrances, over buildings,Small gates,Boom gates,Parking lots with unknown price,Parking for persons with disabilities,Parking for residents,Parking for taxi,Free parking,Covered parking. - Иконка: каталоги
Sights(кроме слояParkв ночной теме),POI icons(только в дневной теме),Transport landmarks(только в дневной теме),Public transport stops icons(кроме слоёвRailway station pointиStop point). - Размер иконки: каталоги
Parking lots bubbles(слоиPaid parking,Parking lots with unknown price,Parking for residents,Parking for persons with disabilities,Parking for taxi,Free parking),POI icons(только в ночной теме),Transport landmarks(только в ночной теме), слойParkкаталогаSights(только в ночной теме). - Иконка и цвет подписи: каталог
Metro stations icons(кроме слоёвMCD 1,MCD 2),Metro exits icons(кроме слоёвMCD 1,MCD 2). - Размер иконки и цвет подписи: каталог
Metro stations icons(слоиMCD 1,MCD 2),Metro exits icons(слоиMCD 1,MCD 2). - Цвет заливки и ширина линии: каталог
Roadsв дневной теме (кромеWalkways,Intercity, background,Federal, background). - Цвет заливки: каталог
Roadsв ночной теме, каталогRoadsв дневной теме (слойWalkways).
- Цвета заливки и обводки: каталог
- Добавился слой
Entrances, arrowsтолько с выделенным состоянием.
5.1.2 (2023-02-15)
🛠 Исправления
- Исправлено падение при уничтожении объекта
Context. - Исправлено падение, когда не удалось закэшировать тайлы карты.
5.1.0 (2023-01-11)
🌟 Новые возможности
- В метод
calcPositionдобавлен параметрsize- размер карты.
🛠 Исправления
- Исправлена ошибка, при которой настройка
HTTPOptions.timeoutникак не влияла на таймаут запросов черезOnlineSearchManager/SmartSearchManager. - Удалено появление
OpenStreetMapв копирайте. - Исправлено падение при навигации в случае, если голосовой инструкции нет в пакете данных.
- Исправлено определение локали при формировании запросов через
OnlineSearchManager.
5.0.2 (2022-12-26)
🛠 Исправления
- Исправлена проблема, когда после удаления
MapViewне удалялся объектMap. - Исправлено отображение панели ETA в
NavigationViewпри переходе вIndoorрежим.
5.0.1 (2022-12-08)
🛠 Исправления
- Исправлена проблема, при которой после завершения навигации оставался периодический перелет к текущему местоположению, если камера находилась в состоянии покоя.
5.0.0 (2022-12-06)
🌟 Новые возможности
- Отказались от использования OpenGL в качестве графического API в пользу Apple Metal по причине нестабильной работы OpenGL на устройствах с процессорами M1 и новее.
- Добавлена пешая навигация в здании. Включается, когда маршрут построен с учетом этажей (с флагом
PedestrianRouteSearchOptions.useIndoor) при входе в здание. UI навигатора меняется - отображается контрол переключения этажей с пометками, через какие этажи проходит маршрут, в нижней панели отображается номер этажа точки назначения. ВNavigationManagerдобавленIndoorDetectorдля определения нахождения пользователя в помещении в режиме навигации. - Добавлена возможность поиска и отображения пешеходных маршрутов в зданиях с этажными планами.
- При поиске должно быть включено
PedestrianRouteSearchOptions.useIndoor(по умолчанию включено). - Маршрут в здании отображается пунктиром на активном этаже, а при включенном
RouteMapObjectDisplayFlag.inactiveFloors- на всех этажах. - На переходах между этажами отображаются иконки с инструкциями, их видимостью управляет
RouteMapObjectDisplayFlag.indoorInstructions. - Получить информацию об этажах, через которые проходит маршрут, можно с помощью
Route.levels.
- При поиске должно быть включено
- Добавлен класс
BaseCameraдля хранения основных настроек камеры. КлассCameraявляется наследникомBaseCamera. ВBaseCameraтакже добавлен методcloneдля копирования камеры. - Добавлены перегрузки для методов
zoomOutToFitиcalcPosition, принимающие вместо геометрий массив объектов картыSimpleMapObject. - Добавлен метод быстрого получения базовой информации о маршрутах (время в пути, длина и др.) без их построения -
TrafficRouter.findBriefRouteInfos. - Добавлен поиск проезда на самокатах. Для этого необходимо задать
ScooterRouteSearchOptionsвTrafficRouter.findRoute. - Добавлена информация об уровне высот на маршруте -
Route.altitudes. - Добавлена информация о запретах перемещения по маршруту -
Route.truckRestrictedAreas,Route.vehicleRestrictedAreas. - Добавлена возможность "съедать" маршрут с любого конца -
RouteMapObject.passedDistanceVisualization. - Добавлен метод для одновременного задания нескольких отображаемых маршрутов
RouteMapObject.replaceAllObjects. - Добавлены настройки отображения баблов на маршруте
RouteMapObject.calloutLabelFlags,RouteMapObject.calloutLabelDisplayMode. - Появилась возможность не скрывать некоторые элементы маршрута по мере его "съедания" -
RouteMapObject.permanentDisplayFlags. - Добавлен класс для управления слежением карты за маркером геопозиции в навигаторе -
NavigationFollowController. - Добавлена возможность получить бабл маршрута через
Map.getRenderedObject, возвращаемый объект имеет типRouteInfoCalloutMapObject. - Улучшена работа
SmartSearchManager- теперь при любых исключениях вOnlineSearchManagerпроисходит переключение наOfflineSearchManager. - В
MapGestureViewOptionsпоявился параметрpinchScalingCenterдля задания точки на экране, относительно которой происходит масштабирование карты при жесте изменения масштаба. - Появилась возможность задавать идентификатор для запросов в WebAPI для On-Premise ключей.
- Обновлен логотип 2GIS в копирайте на карте.
- В
NavigationViewOptionsпоявился флагroadEventCreationEnabledдля отключения контрола дорожных событий. - Поддержка PPI всех моделей iPhone 14 и iPad.
- В
DGis.Containerдобавлено свойствоlocationService- реализация протоколаILocationServiceдля получения последнего известного местоположения пользователя. - Реализованы методы
IMapView.addObjectTappedCallback,IMapView.addObjectLongPressCallback,IMapView.removeObjectTappedCallback,IMapView.removeLongPressCallbackдля добавления и удаленияMapObjectTappedCallback- обработчиков тапа и долгого нажатия на карту. - В
INavigationViewFactoryдобавлен методmakeNavigationViewс дополнительными параметрамиINavigationViewControlsFactoryиINavigationMapControlsFactoryдля переопределения контролов навигатора и контролов карты в навигаторе. Все контролы теперь публичные. - В
INavigationViewFactoryдобавлены методыmakeNavigationViewControlsFactoryиmakeNavigationMapControlsFactoryдля получения фабрик контролов навигатора и контролов карты в навигаторе, соответственно.
❗ Ломающие изменения
- Изменена сигнатура методов
zoomOutToFitиcalcPosition.zoomOutToFitтеперь принимает только камеру и геометрию. ВcalcPositionтеперь помимо камеры и геометрии можно передать активную область, угол наклона и поворота карты, поэтому теперь необязательно предварительно настраивать камеру для расчета позиции. - Удален
RoutePosition- избыточный класс, вместо него используетсяRoutePoint. - Удалено
Model.cameraProgressChannel, вместо него необходимо использовать классCameraNotifier. Traffic.durationsтеперь имеет типMillisecondsRouteAttributeвместоSecondsRouteLongAttributeи большую точность значений.Route.obstaclesтеперь имеет типObstacleInfoRouteAttributeи помимо типа препятствия содержит дополнительную информацию.- Конструктор
ZoomFollowControllerтеперь принимает параметромMap. - В
MapViewбыли удалены методыosmCopyrightAnimationDurationиshowOSMCopyright.
🛠 Исправления
- Увеличена точность отображения оставшегося времени в пути в навигаторе.
- В случае пустого результата
OfflineSearchManagerне кидает исключение, а возвращает пустой список. - У
INavigationViewпри старте навигатора изменили zoom-уровень камеры, приближенный к основному приложению 2ГИС. - В
INavigationViewисправлена работа контрола ограничения скорости - теперь нулевое ограничение не отображается. - После завершения навигации в
INavigationViewкамера возвращается к исходным настройкам. - Более корректное вычисление точки расхождения между основным маршрутом и маршрутом лучше.
- Исправлена работа контрола компаса
CompassControl. - Исправлено определение локали в поисковых запросах. Теперь регион определяется через область интереса или текущее местоположение пользователя.
- Добавлена проверка на добавление пользовательских маркеров с пустым изображением.
- Исправлена проблема, при которой маршрут лучше исчезал вместе с панелью выбора маршрута по истечению таймаута.
🗺 Изменения в стилях карты
- У пешего маршрута (группа Pedestrian route line) и объектов на маршруте (Point A, Point B, Route joints, Intermediate route points в группе Dynamic objects) добавлена логика отображения на этажах.
- Добавлены инструкции навигации в здании - группа Indoor instructions.
- Cлой "Point A" теперь не отображается в режиме навигации.
- Выключено отображение слоёв "Region border" и "Regions".
- Установлены цвета для градиента линии неактивного маршрута.
- Исправлен селектор для платных парковок.
- Слои "Intermediate route points", "Route joints", "Point A", "Point B" теперь сразу после слоя "Location precision radius".
Миграция с версий 4.x на 5.х
Для всех типов Mobile SDK:
- Изменена сигнатура методов
zoomOutToFitиcalcPosition.zoomOutToFitтеперь принимает только камеру и геометрию. ВcalcPositionтеперь помимо камеры и геометрии можно передать активную область, угол наклона и поворота карты, поэтому теперь необязательно предварительно настраивать камеру для расчета позиции. - Конструктор
ZoomFollowControllerтеперь принимает параметромMap. - В
MapViewбыли удалены методыosmCopyrightAnimationDurationиshowOSMCopyright.
Дополнительно для полной версии:
- Удален
RoutePosition- избыточный класс, вместо него используетсяRoutePoint. - Удалено
Model.cameraProgressChannel, вместо него необходимо использовать классCameraNotifier. Traffic.durationsтеперь имеет типMillisecondsRouteAttributeвместоSecondsRouteLongAttributeи большую точность значений.Route.obstaclesтеперь имеет типObstacleInfoRouteAttributeи помимо типа препятствия содержит дополнительную информацию.
v4.6.1
Release Date: 11.01.2023
🛠 Исправления
- Исправлено падение при навигации в случае, если голосовой инструкции нет в пакете данных.
v4.6.0
Release Date: 30.12.2022
🛠 Исправления
- Исправлена ошибка, при которой настройка
HTTPOptions.timeoutникак не влияла на таймаут запросов черезOnlineSearchManager/SmartSearchManager. - Удалено появление
OpenStreetMapв копирайте.
v4.5.0
Release Date: 16.11.2022
🌟 Новые возможности
- Улучшена работа
SmartSearchManager- теперь при любых исключениях вOnlineSearchManagerпроисходит переключение наOfflineSearchManager. - В
MapGestureViewOptionsпоявился параметрpinchScalingCenterдля задания точки на экране, относительно которой происходит масштабирование карты при жесте изменения масштаба. - Появилась возможность задавать идентификатор для запросов в WebAPI для On-Premise ключей.
🛠 Исправления
- В случае пустого результата
OfflineSearchManagerне кидает исключение, а возвращает пустой список. - У
NavigationViewпри старте навигатора изменили zoom-уровень камеры, приближенный к основному приложению 2ГИС.
v5.0.0-beta.4
Release Date: 08.11.2022
🌟 Новые возможности
- Поддержка PPI всех моделей iPad.
- Реализованы методы
IMapView.addObjectTappedCallback,IMapView.addObjectLongPressCallback,IMapView.removeObjectTappedCallback,IMapView.removeLongPressCallbackдля добавления и удаленияMapObjectTappedCallback- обработчиков тапа и долгого нажатия на карту. - В
MapGestureViewOptionsпоявилась возможность черезpinchScalingCenterзадавать точку, относительно которой будет происходить изменение масштабов карты.
🛠 Исправления
- Более корректное вычисление точки расхождения между основным маршрутом и маршрутом лучше.
- Исправлена работа контрола компаса
CompassControl. - Исправлено определение локали в поисковых запросах. Теперь регион определяется через область интереса или текущее местоположение пользователя.
v5.0.0-beta.3
Release Date: 31.10.2022
🌟 Новые возможности
- Поддержка PPI всех моделей iPhone 14.
- В
DGis.Containerдобавлено свойствоlocationService- реализация протоколаILocationServiceдля получения последнего известного местоположения пользователя.
🛠 Исправления
- Исправлена проблема, при которой маршрут лучше исчезал вместе с панелью выбора маршрута по истечению таймаута.
v4.4.1
Release Date: 31.10.2022
🌟 Новые возможности
- Поддержка PPI всех моделей iPhone 14.
🛠 Исправления
- Исправлена проблема, при которой маршрут лучше исчезал вместе с панелью выбора маршрута по истечению таймаута.
v2.8.3
Release Date: 31.10.2022
🌟 Новые возможности
- Поддержка PPI всех моделей iPhone 14.
v5.0.0-beta.2
Release Date: 13.10.2022
🌟 Новые возможности
- Обновлен логотип 2GIS в копирайте на карте.
- В
NavigationViewOptionsпоявился флагroadEventCreationEnabledдля отключения контрола дорожных событий.
🛠 Исправления
- В
INavigationViewисправлена работа контрола ограничения скорости - теперь нулевое ограничение не отображается.
v4.4.0
Release Date: 13.10.2022
🌟 Новые возможности
- Обновлен логотип 2GIS в копирайте на карте.
v2.8.2
Release Date: 13.10.2022
🌟 Новые возможности
- Обновлен логотип 2GIS в копирайте на карте.
v5.0.0-beta.1
Release Date: 29.09.2022
🌟 Новые возможности
- Отказались от использования OpenGL в качестве графического API в пользу Apple Metal по причине нестабильной работы OpenGL на устройствах с процессорами M1 и новее.
- Добавлена возможность поиска и отображения пешеходных маршрутов в зданиях с этажными планами.
- При поиске должно быть включено
PedestrianRouteSearchOptions.useIndoor(по умолчанию включено). - Маршрут в здании отображается пунктиром на активном этаже, а при включенном
RouteMapObjectDisplayFlag.inactiveFloors- на всех этажах. - На переходах между этажами отображаются иконки с инструкциями, их видимостью управляет
RouteMapObjectDisplayFlag.indoorInstructions. - Получить информацию об этажах, через которые проходит маршрут, можно с помощью
Route.levels.
- При поиске должно быть включено
- Добавлена пешая навигация в здании (возможность экспериментальная и будет дорабатываться). Включается, когда маршрут построен с учетом этажей (с флагом
PedestrianRouteSearchOptions.useIndoor) при входе в здание. UI навигатора меняется - отображается контрол переключения этажей с пометками, через какие этажи проходит маршрут, в нижней панели отображается номер этажа точки назначения. - Добавлен метод быстрого получения базовой информации о маршрутах (время в пути, длина и др.) без их построения -
TrafficRouter.findBriefRouteInfos. - Добавлен поиск проезда на самокатах. Для этого необходимо задать
ScooterRouteSearchOptionsвTrafficRouter.findRoute. - Добавлена информация об уровне высот на маршруте -
Route.altitudes. - Добавлена информация о запретах перемещения по маршруту -
Route.truckRestrictedAreas,Route.vehicleRestrictedAreas. - Добавлена возможность "съедать" маршрут с любого конца -
RouteMapObject.passedDistanceVisualization. - Добавлен метод для одновременного задания нескольких отображаемых маршрутов
RouteMapObject.replaceAllObjects. - Добавлены настройки отображения баблов на маршруте
RouteMapObject.calloutLabelFlags,RouteMapObject.calloutLabelDisplayMode. - Появилась возможность не скрывать некоторые элементы маршрута по мере его "съедания" -
RouteMapObject.permanentDisplayFlags. - Добавлен класс для управления слежением карты за маркером геопозиции в навигаторе -
NavigationFollowController. - Добавлена возможность получить бабл маршрута через
Map.getRenderedObject, возвращаемый объект имеет типRouteInfoCalloutMapObject.
🛠 Исправления
- Увеличена точность отображения оставшегося времени в пути в навигаторе.
❗️ Изменения, влияющие на обратную совместимость
- Удален
RoutePosition- избыточный класс, вместо него используетсяRoutePoint. - Удалено
Model.cameraProgressChannel, вместо него необходимо использовать классCameraNotifier. Traffic.durationsтеперь имеет типMillisecondsRouteAttributeвместоSecondsRouteLongAttributeи большую точность значений.Route.obstaclesтеперь имеет типObstacleInfoRouteAttributeи помимо типа препятствия содержит дополнительную информацию.- Конструктор
ZoomFollowControllerтеперь принимает параметромMap.
🗺 Изменения в стилях карты
- У пешего маршрута (группа Pedestrian route line) и объектов на маршруте (Point A, Point B, Route joints, Intermediate route points в группе Dynamic objects) добавлена логика отображения на этажах.
- Добавлены инструкции навигации в здании - группа Indoor instructions.
v4.3.0
Release Date: 26.08.2022
🌟 Новые возможности
- Возможность задать шрифт надписей маркеров, указав
TextStyle.fontName- название шрифта из редактора стилей. - Новое значение enum-a
CameraState.followPosition- камера находится в режиме слежения за позицией.
🛠 Исправления
- Оптимизирован офлайн поиск проезда - не грузим лишние данные регионов.
- Исправлены рывки камеры во время навигации при близкорасположенных манёврах.
- Исправлено "съедание" маршрута при повторном запуске навигации.
- Исправлено падение при удалении источника пробок.
- Исправлено отображение манёвров навигатора при левостороннем движении.
- Улучшена работа
MyLocationControl- призумливание к геопозиции, переключение между тремя режимами слежения, отображение текущего режима. - Уменьшено количество сетевых запросов данных о пробках при быстром перемещении карты.
- Ошибки таймаута при скачивании пробочного балла не логируются как ошибка.
v4.2.0
Release Date: 04.08.2022
🛠 Исправления
- Исправлено исключение в
Map.visibleArea. - Для локализации надписей на карте теперь используются все заданные в системе языки.
- Локализация надписей дорожных событий.
- Исправлено перестроение маршрута во время навигации.
- Изменено значение по умолчанию параметра
radiusвMap.getRenderedObjects.
v4.1.0
Release Date: 15.07.2022
🛠 Исправления
- Исправлено мерцание пробок при масштабировании карты.
- Исправление отображения остановок и точек соединения на маршрутах.
- Исправлено обновление карты при изменении локали.
DirectoryObject.markerPosition.elevationтеперь может иметь ненулевое значение - высота над поверхностью.- Увеличен таймаут сетевых запросов поиска проезда (предыдущего не хватало для дальних маршрутов).
- Теперь в ключе не обязательно задавать
deactivation_time, если не используются offline-возможности. - Исправлено падение при проверке пересечения геометрий методом
Geometry.intersects. - Исправлены потенциальные падения при работе карты.
❗️ Изменения, влияющие на обратную совместимость
- Значение enum-а
RouteMapObjectDisplayFlag.tranportConnectionPointsпереименовано вtransportConnectionPoints- исправлена опечатка.
Миграция с v2.x
Для всех типов Mobile SDK:
- Обратитесь в службу поддержки 2ГИС для получения нового ключа для использования MobileSDK. Обязательно нужно указать
appIdприложения, для которого будет создан ключ. Полученный файл ключаdgissdk.keyнужно добавить либо в корень приложения, либо при инициализации MobileSDK передать объект структурыApiKeyOptionsс указанием пути до файла. - Структура
APIKeysбыла удалена. Вместо нее вContainer.initпервым параметров нужно передавать объект структурыApiKeyOptions, который содержит путь до файлаdgissdk.key. Объект по умолчаниюApiKeyOptions.defaultпытается получить файл из корня приложения. - Обновить стили.
- Переименован класс
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.federalRoadи др. - Метод
VoiceSelector.setVoiceзаменен на свойствоvoice. - Удалены
Model.durationChannel,Model.routeDurationChannel, вместо них необходимо использоватьModel.dynamicRouteInfo.traffic.durations.calculateDuration(routePoint). - Изменен набор значений enum-a
RoadSurface. - Удалены
Model.navigationActiveChannel,NavigationManager.uiSettings, вместо них для получения активности навигатора служит новый классActivityTracker.
v2.8.1
Release Date: 13.07.2022
🛠 Исправления
- Исправлено падение при проверке пересечения геометрий методом
Geometry.intersects. - Исправлены потенциальные падения при работе карты.
v4.0.0
Release Date: 17.06.2022
🌟 Новые возможности
- Гибридный режим работы.
- Добавлена возможность скачать данные для работы карты, справочника и поиска проезда, которые в дальнейшем будут использоваться при отсутствии Интернет-соединения. Для скачивания данных о территориях и получении информации о них служит
TerritoryManager. - Чтобы карта работала в гибридном режиме, необходимо задать в
MapOptions.sourcesгибридный источник -[.dgisHybridSource]. - Гибридный поисковик по справочнику -
SearchManager.createSmartManager(но есть так же отдельныеcreateOnlineManagerиcreateOfflineManager). - Поиск проезда (
TrafficRouter) всегда гибридный - использует online/offline данные в зависимости от их доступности. - С помощью
TerritoriesAlongRouteProviderможно получить список территорий, через которые проходит маршрут.
- Добавлена возможность скачать данные для работы карты, справочника и поиска проезда, которые в дальнейшем будут использоваться при отсутствии Интернет-соединения. Для скачивания данных о территориях и получении информации о них служит
- Отображение этажных планов.
- Происходит автоматически при приближении карты к крупным зданиям (торговым центрам, аэропортам и т. д.).
- Для получения информации об этажных планах и их переключения служит
IndoorManager. - Есть готовый UI контрол для управления этажами -
IndoorControl. - Динамические объекты (
SimpleMapObject) можно разместить на конкретном этажном плане с помощью параметраlevelId.
- Отображения всплывающих подсказок с полосностью над маршрутом навигатора.
- По умолчанию
RouteMapObjectDisplayFlag.lanesBubblesзадан. - Позиции подсказок на маршруте можно получить с помощью
RouteMapObject.lanesCalloutPositions.
- По умолчанию
- Информация о событиях и пробках на маршруте в навигаторе -
Model.dynamicRouteInfo. Для настройки параметров её обновления служитNavigationManager.dynamicRouteInfoSettings. - Настройка параметров отображения маршрута в навигаторе -
NavigationManager.routeMapSettings. - Автоматический переход в режим Free Roam при сходе с маршрута.
- Добавлены настройки поиска маршрута лучше -
NavigationManager.betterRouteProviderSettings. - Добавлены поля с границами зоны действия знака полосности -
RouteLaneSign.signStartPoint,signPoint,signEndPoint. - Добавлена опция "избегать лестниц" на пешеходных маршрутах -
PedestrianRouteSearchOptions.avoidStairways. - Изменена логика работы с ключами. Теперь при инициализации MobileSDK нужно передать путь до файла
dgissdk.key, который содержит информацию о ключе. - Новый дизайн UI навигатора
NavigationViewвместе со всеми контролами. Теперь дизайн совпадает с новым навигатором приложения 2ГИС. - Помимо обновленного дизайна контролов в новом навигаторе:
- Появилась возможность задавать цветовые схемы всех контролов.
- Появилась возможность задавать функцию обратного вызова на кнопку завершения поездки. Если callback не задан, то кнопка не будет отображаться в нижней всплывающей панели.
- По умолчанию включено отображение баблов полосности.
- Для велосипедных маршрутов добавляются специфичные для них атрибуты, такие как:
Route.badRoads- плохой ли участок дороги.ExtraInstructionInfo.bicycleCrossroad- велосипедные инструкцииBicycleInstructionCrossroad,BicycleInstructionCrossroadManeuver,BicycleInstructionCrossroadManeuverDirection,BicycleInstructionCrossroadLandmark.
- По умолчанию включено кэширование
Free roamтайлов в режиме движения по маршруту. Для настройки кэширования используютсяFreeRoamSettings.onRoutePrefetchLength,FreeRoamSettings.onRoutePrefetchRadiusMetersиFreeRoamSettings.cachePrefetchRadiusMeters. - Добавлен флаг
TruckRouteSearchOptions.fallbackOnCar, который позволяет искать автомобильный маршрут при невозможности найти грузовой маршрут. - Обработка кликов по входам в здания. Добавлено поле
DgisObjectId.entranceId- идентификатор входа. Оно заполняется для входов, полученных черезMap.getRenderedObjects. Поддержка входов в справочнике будет добавлена в следующих релизах. - Контрол навигатора "Градусник", отображающий пробки на маршруте -
ThermometerControlView. - Обзор маршрута в навигаторе. Включается при выборе соответствующего действия на Dashboard или нажатии на "Градусник".
- Добавлены протоколы
IMarkerViewиIMarkerViewFactoryдля создания UI View маркеров. Для добавления этих маркеров на карту нужно использовать протоколIMarkerViewOverlay. - В баблах полосности появились указатели съездов.
- Добавлена информация о подъездах в
DirectoryObject-EntranceInfo. - Доработан
SearchManager.suggestдля отображения подъездов и квартир. - Доработаны
SearchManager.searchByDirectoryObjectIdиSearchManager.searchByIdдля поиска подъезда по идентификатору. - Добавлена возможность настраивать отображение активного и неактивного маршрутов через
RouteEditorSource.activeDisplayFlagsиRouteEditorSource.inactiveDisplayFlags. - Добавлен флаг
RouteMapObjectDisplayFlag.bubblesдля управление видимостью баблов на маршрутах. - Добавлены приоритеты для сетевых запросов, чтобы загружались в первую очередь более приоритетные данные.
- Добавлен канал
Map.dataLoadingStateChannelдля отслеживания состояния загруженности карты.
🛠 Исправления
- Уменьшен размер map сборки Mobile SDK.
- Кэширование данных Free Roam. Настроить параметры кеширования можно с помощью
NavigationManager.freeRoamSettings. - Исправлена проблема, при которой камера, озвученная при прохождении на маршруте один раз, больше не озвучивалась при повторном проезде через неё.
- Исправлен поиск в офлайн и гибридном режимах.
- Оптимизировано обновление пробок.
- Отключение отображения этажных планов в режиме навигации.
- Оптимизирована отправка статистики в режиме навигации.
- Исправлена ситуация, когда при отображении дорожных событий в логах появлялись ошибки
can’t load from network. - Оптимизирована логика перезапроса маршрутов.
- Исправлена проблема, когда при завершении поездки построенный маршрут оставался на карте.
- Исправлен порядок отрисовки маршрутов.
🗺 Изменения в стилях карты
- Отображение этажных планов.
- Появились новые каталоги со слоями: "Площади этажей", "Площадники организаций", "Стены этажей", "Якоря организаций", "Достопримечательности этажей", "Подписи этажей".
- У всех слоёв в каталоге "3D дома", а также у слоя "3D модели" поменялось условие выбора данных.
- Требуется перевыгрузка стилей из редактора для того, чтобы появились подсказки полосности.
- Названия слоев переведены на английский язык.
- Слой "Driveways above houses" стал интерактивным - доступным для получения через
Map.getRenderedObjects. - Удалены слои "Пробки обводка уровень [-3..3]".
- Изменена ширина линий у "Traffic jams, background", "Traffic jams fill color level [-3..3]".
- Добавились параметры стрелок в каталоке "Car route line" у слоев "Maneuver arrows, large scale, tracking mode", "Maneuver arrows, fine scale, tracking mode".
- В ночной теме поменялся цвет текста, цвет halo и размер halo в каталогах "Traffic alerts along the route" и "Traffic alerts along the route, tracking mode" у слоев "Small gates", "Stairs up", "End of pedestrian underpass", "Beginning of pedestrian underpass", "Stairs down", "Boom gate", "Speed hump".
- Изменения для нового навигатора: цвета/размеры пробок, маршрута, манёвров, новая модель стрелки.
- Поддержка размещения объектов
SimpleMapObjectна этажах.
v2.8.0
Release Date: 09.06.2022
🌟 Новые возможности
- Свойство
MapObjectManager.isVisible- включение/выключение отображения всех объектов одновременно.
🛠 Исправления
- Статическое содержимое карты теперь загружается с большим приоритетом, чем динамическое.
- Исправлена потенциальная блокировка UI-потока на длительное время при работе с сетью.
v4.0.0-beta.2
Release Date: 25.05.2022
🌟 Новые возможности
- Свойство
MapObjectManager.isVisible- включение/выключение отображения всех объектов одновременно. - Обработка кликов по входам в здания. Добавлено поле
DgisObjectId.entranceId- идентификатор входа. Оно заполняется для входов, полученных черезMap.getRenderedObjects. Поддержка входов в справочнике будет добавлена в следующих релизах. - Контрол навигатора "Градусник", отображающий пробки на маршруте -
ThermometerControlView. - Обзор маршрута в навигаторе. Включается при выборе соответствующего действия на Dashboard или нажатии на "Градусник".
🛠 Исправления
- Исправлено отображение пробок во время слежения.
❗️ Изменения, влияющие на обратную совместимость
- Удалены
Model.durationChannel,Model.routeDurationChannel, вместо них необходимо использоватьModel.dynamicRouteInfo.traffic.durations.calculateDuration(routePoint). - Изменен набор значений enum-a
RoadSurface. - Удалены
Model.navigationActiveChannel,NavigationManager.uiSettings, вместо них для получения активности навигатора служит новый классActivityTracker.
🗺 Изменения в стилях карты
- Названия слоев переведены на английский язык.
- Слой "Driveways above houses" стал интерактивным - доступным для получения через
Map.getRenderedObjects. - Удалены слои "Пробки обводка уровень [-3..3]".
- Изменена ширина линий у "Traffic jams, background", "Traffic jams fill color level [-3..3]".
- Добавились параметры стрелок в каталоке "Car route line" у слоев "Maneuver arrows, large scale, tracking mode", "Maneuver arrows, fine scale, tracking mode".
- В ночной теме поменялся цвет текста, цвет halo и размер halo в каталогах "Traffic alerts along the route" и "Traffic alerts along the route, tracking mode" у слоев "Small gates", "Stairs up", "End of pedestrian underpass", "Beginning of pedestrian underpass", "Stairs down", "Boom gate", "Speed hump".
v2.7.0
Release Date: 18.05.2022
🌟 Новые возможности
- Добавлена возможность задания слоя отрисовки
SimpleObjectпри созданииMapObjectManager. Добавлен параметр -layerId- ID слоя нового типаДинамический объект. Когда он задан, объекты размещаются на этом слое, что позволяет задать их порядок относительно других слоев. - Теперь учитывается ситуация, когда
DGis.Containerинициализируется не из главного потока.
🛠 Исправления
- Исправлены зависания карты при больших значениях zoom и угла наклона.
- Исправлена проблема, когда при загрузке карты в гибридном режиме на какое-то время все заполнял полигон воды.
- Исправлена проблема, когда на разных zoom изменялась толщина добавленного объекта
Polygon. - Оптимизировано обновление пробок - теперь они кэшируются в зависимости от style zoom.
v4.0.0-beta.1
Release Date: 04.05.2022
🌟 Новые возможности
- Изменена логика работы с ключами. Теперь при инициализации MobileSDK нужно передать путь до файла
dgissdk.key, который содержит информацию о ключе. - Новый дизайн UI навигатора
NavigationViewвместе со всеми контролами. Теперь дизайн совпадает с новым навигатором приложения 2ГИС. - Помимо обновленного дизайна контролов в новом навигаторе:
- Появилась возможность задавать цветовые схемы всех контролов.
- Появилась возможность задавать функцию обратного вызова на кнопку завершения поездки. Если callback не задан, то кнопка не будет отображаться в нижней всплывающей панели.
- По умолчанию включено отображение баблов полосности.
- Добавлена возможность задания слоя отрисовки
SimpleObjectпри созданииMapObjectManager. Добавлен параметр -layerId- ID слоя нового типаДинамический объект. Когда он задан, объекты размещаются на этом слое, что позволяет задать их порядок относительно других слоев. - В
MapOptions.sourcesдобавлена возможность задавать гибридный источник карты черезMapOptions.SourceDescriptor.dgisHybridSource. - Для велосипедных маршрутов добавляются специфичные для них атрибуты, такие как:
Route.badRoads- плохой ли участок дороги.ExtraInstructionInfo.bicycleCrossroad- велосипедные инструкцииBicycleInstructionCrossroad,BicycleInstructionCrossroadManeuver,BicycleInstructionCrossroadManeuverDirection,BicycleInstructionCrossroadLandmark.
- По умолчанию включено кэширование
Free roamтайлов в режиме движения по маршруту. Для настройки кэширования используютсяFreeRoamSettings.onRoutePrefetchLength,FreeRoamSettings.onRoutePrefetchRadiusMetersиFreeRoamSettings.cachePrefetchRadiusMeters. - Добавлен флаг
TruckRouteSearchOptions.fallbackOnCar, который позволяет искать автомобильный маршрут при невозможности найти грузовой маршрут. - Отправка нового поля passedDistance в событиях статистики навигатора.
- Поддержка iPhone SE 3 и iPad Air 5.
🛠 Исправления
- Ускорено добавление сложных полигонов на карту.
- Исправлена проблема, при которой камера, озвученная при прохождении на маршруте один раз, больше не озвучивалась при повторном проезде через неё.
- Исправлен поиск в офлайн и гибридном режимах.
- Оптимизировано обновление пробок.
- Отключение отображения этажных планов в режиме навигации.
- Оптимизирована отправка статистики в режиме навигации.
- Исправлена ситуация, когда при отображении дорожных событий в логах появлялись ошибки
can’t load from network. - Оптимизирована логика перезапроса маршрутов.
- Исправлена проблема, когда при завершении поездки построенный маршрут оставался на карте.
❗️ Изменения, влияющие на обратную совместимость
- Структура
APIKeysбыла удалена. Вместо нее вContainer.initпервым параметров нужно передавать объект структурыApiKeyOptions, который содержит путь до файлаdgissdk.key. Объект по умолчаниюApiKeyOptions.defaultпытается получить файл из корня приложения. - Удалены методы
SearchQueryBuilder.setLocationиSuggestQueryBuilder.setLocation- значение автоматически берется из источника геопозиции. - Удален метод
PackedSearchQuery.location. - Удалены
SearchResultMarkerObjectиSearchResultMarkerSourceдля генерализации маркеров поисковой выдачи по причине отсутствия возможности динамически добавлять или удалять объекты. В качестве альтернативы пользователю предлагается самому реализовать генерализацию маркеров или воспользоваться кластеризацией. - При создании
MyLocationMapObjectSourceпо умолчанию используетсяSmoothMyLocationControllerвместоRawMyLocationController.
🗺 Изменения в стилях карты
- Изменения для нового навигатора: цвета/размеры пробок, маршрута, манёвров, новая модель стрелки.
- Поддержка размещения объектов
SimpleMapObjectна этажах.
v2.6.0
Release Date: 19.04.2022
🌟 Новые возможности
- Отправка нового поля passedDistance в событиях статистики навигатора.
- Поддержка iPhone SE 3 и iPad Air 5.
🛠 Исправления
- Ускорено добавление сложных полигонов на карту.
- Исправлено обновление пробок на маршруте.
- Кэширование дорожных событий.
- Улучшен алгоритм обновления ETA на маршруте.
❗️ Изменения, влияющие на обратную совместимость
- Методы
SearchQueryBuilder.setLocationиSuggestQueryBuilder.setLocationпомечены как устаревшие - значение автоматически берется из источника геопозиции.
v4.0.0-alpha.1
Release Date: 04.04.2022
🌟 Новые возможности
- Гибридный режим работы.
- Добавлена возможность скачать данные для работы карты, справочника и поиска проезда, которые в дальнейшем будут использоваться при отсутствии Интернет-соединения. Для скачивания данных о территориях и получении информации о них служит
TerritoryManager. - Чтобы карта работала в гибридном режиме, необходимо задать в
MapOptions.sourcesсразу оба источника - online и offline -[.dgisOnlineSource, .dgisOfflineSource]. - Гибридный поисковик по справочнику -
SearchManager.createSmartManager(но есть так же отдельныеcreateOnlineManagerиcreateOfflineManager). - Поиск проезда (
TrafficRouter) всегда гибридный - использует online/offline данные в зависимости от их доступности. - С помощью
TerritoriesAlongRouteProviderможно получить список территорий, через которые проходит маршрут.
- Добавлена возможность скачать данные для работы карты, справочника и поиска проезда, которые в дальнейшем будут использоваться при отсутствии Интернет-соединения. Для скачивания данных о территориях и получении информации о них служит
- Отображение этажных планов.
- Происходит автоматически при приближении карты к крупным зданиям (торговым центрам, аэропортам и т. д.).
- Для получения информации об этажных планах и их переключения служит
IndoorManager. - Есть готовый UI контрол для управления этажами -
IndoorControl. - Динамические объекты (
SimpleMapObject) можно разместить на конкретном этажном плане с помощью параметраlevelId.
- Отображения всплывающих подсказок с полосностью над маршрутом навигатора.
- По умолчанию выключено. Включить можно, задав
RouteMapObjectDisplayFlag.lanesBubblesвRouteMapObject.displayFlags,RouteMapSettings.onRouteDisplayFlagsилиRouteMapSettings.freeRoamDisplayFlags. - Позиции подсказок на маршруте можно получить с помощью
RouteMapObject.lanesCalloutPositions.
- По умолчанию выключено. Включить можно, задав
- Информация о событиях и пробках на маршруте в навигаторе -
Model.dynamicRouteInfo. Для настройки параметров её обновления служитNavigationManager.dynamicRouteInfoSettings. - Настройка параметров отображения маршрута в навигаторе -
NavigationManager.routeMapSettings. - Автоматический переход в режим Free Roam при сходе с маршрута.
- Добавлены настройки поиска маршрута лучше -
NavigationManager.betterRouteProviderSettings. - Добавлены поля с границами зоны действия знака полосности -
RouteLaneSign.signStartPoint,signPoint,signEndPoint. - Добавлена опция "избегать лестниц" на пешеходных маршрутах -
PedestrianRouteSearchOptions.avoidStairways.
🛠 Исправления
- Исправлено обновление пробок на маршруте.
- Кэширование данных Free Roam. Настроить параметры кеширования можно с помощью
NavigationManager.freeRoamSettings. - Кэширование дорожных событий.
❗️ Изменения, влияющие на обратную совместимость
Map-версия:
- Класс
DirectoryObjectIdпереименован вDgisObjectId. - Удалены функции
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.federalRoadи др. - Метод
VoiceSelector.setVoiceзаменен на свойствоvoice.
v2.5.0
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).
v2.4.2
Release Date: 16.03.2022
🛠 Исправления
- Отключен
accessibilityв контроле копирайта.
v2.4.1
Release Date: 11.03.2022
🛠 Исправления
- Исправлено обновление пробок вдоль маршрута.
- Поправлена ошибка при отправке статистики поиска проезда.
v2.4.0
Release Date: 04.03.2022
🌟 Новые возможности
- Добавлены предупреждения и ошибки в лог в случае, если заканчивается или закончился срок поддержки конкретной версии MobileSDK.
- Поддержан фильтр
CarRouteSearchOptions.avoidFerryна запрет паромных переправ. - У обработчиков жестов
IMapGestureInputController.didDoubleTapиIMapGestureInputController.didTwoFingerTapпоявилась возможность задавать позицию работы жестов. - При отправке статистики обрабатываются события:
- завершения запроса альтернативных маршрутов;
- изменения индекса следующей промежуточной точки маршрута;
- обновления динамической информации о маршруте.
🛠 Исправления
- Исправлена ошибка, при которой на маршрутах на общественном транспорте при отсутствии информации о вагонах было невалидное описание посадки в вагон.
- Теперь при вызове
Camera.setPaddingиCamera.setPositionPointс параметромCameraPositionPointChangeBehaviour.keepCameraсбрасывается слежение за позицией. - Исправлена проблема отрисовки некоторых регионов.
- Исправлена ошибка при отправке статистики, связанная с генерацией события после достижения конечной точки.
- В
NavigationViewисправлена проблема, при которой второй и последующие маршруты строятся не до указанной точки. - Теперь если отправили запрос на поиск нового маршрута, но до его получения вернулись на текущий маршрут, то отправляются запросы на маршрут лучше.
❗️ Изменения, влияющие на обратную совместимость
- Теперь метод
TrafficRouter.findRouteне кидает исключение, если маршруты не найдены, а возвращает пустой список.
v2.3.3
Release Date: 25.02.2022
🌟 Новые возможности
- Добавлено логирование сетевых запросов при уровне логов info и verbose.
🛠 Исправления
- Исправлена отправка статистики с поколением мобильной сети. Раньше отправлялись невалидные нулевые значения.
v1.6.18
Release Date: 25.02.2022
🌟 Новые возможности
- Добавлено логирование сетевых запросов при уровне логов info и verbose.
🛠 Исправления
- Исправлена отправка статистики с поколением мобильной сети. Раньше отправлялись невалидные нулевые значения.
v2.3.2
Release Date: 21.02.2022
🛠 Исправления
- Исправлена отправка статистики о старте навигации.
v2.3.0
Release Date: 10.02.2022
🌟 Новые возможности
- Плавный перелет при активации слежения за геопозицией -
CameraBehaviour.transitionType(по умолчаниюTransitionType.SMOOTH- включено). - Возможность задания настроек, недоступных через API (например, URL-ов web-сервисов) - параметр
vendorConfigв конструктореContainer- 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.
🛠 Исправления
- Использование системного HTTP-клиента вместо CURL.
- Возможность задать собственную реализацию HTTP-клиента -
IHTTPClient. - Оптимизация отображения пробок на карте.
- Оптимизация добавления маршрута на карту.
- Исправлено определение маршрута лучше после схода с маршрута и возврата обратно.
- Убрано ошибочное оповещение о плохом сигнале GPS при старте симуляции навигации (
NavigationManager.startSimulation).
v1.6.16
Release Date: 26.01.2022
🌟 Новые возможности
- Вся работа с сетевыми запросами переведена с
libcurlна системный сетевой клиент.
🛠 Исправления
- Добавлено логирование позиции камеры в случае, если в методы
Camera.move,Camera.positionиMapOptions.positionпередать некорректное значение позиции.
v1.6.14
Release Date: 10.01.2022
🛠 Исправления
- Исправили проблему, когда не загружались тайлы при включённом AdGuard VPN.
- Убрали запись ошибок в логи, когда объект карты разрушается сразу после создания.
- Исправили падения в сетевом кэше.
- Добавили логирование запроса при ошибках работы с сетью.
- Убрали ошибки в логах при обработке тайлов карты.
- Исправлены редкие падения при создании карты в разных потоках.
- Исправлены ошибки в логах при добавлении маркера на карту.
v2.2.0
Release Date: 29.12.2021
🌟 Новые возможности
- Сохранение и восстановление маршрута и состояния навигатора -
PackedNavigationState,TrafficRoute.fromNavigationState. - Добавлено свойство
PublicTransportTransfer.startPointName- название точки начала участка маршрута. - Отображение номеров и цвета линий метро в карточке общественного транспорта (
PublicTransportCard).
🛠 Исправления
- Исправлено падение при изменении настроек масштабирование карты в навигаторе (
NavigationManager.zoomFollowSettings). - Исправлена работа
PublicTransportInfo.colorдля типов транспорта отличных от метро. - Период обновления данных о пробках ограничен снизу 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".
- Некоторые несоответствия тем возникли из-за использования диапазона из данных. Чтобы такого не случилось в будущем, все масштабы в шаблонах теперь заданы явно.
- В дневной теме:
v2.1.0
Release Date: 24.12.2021
🌟 Новые возможности
- Добавлены перешеходные и велосипедные маршруты, а также маршруты на общественном траспорте.
- Добавлена возможность отключения инструкций о завершении маршрута и о потере сигнала GPS.
- В структуре
Locationпоявились 2 поля - название источника геопозицииsourceи временная точка, в которой была определена геопозиция,timestamp. - Класс
PackedMapStateдля сериализации и десериализации состояния карты. Старые методыserialize(cameraPosition:)иdeserialize(positionString:)помечены, как deprecated. - Класс
PackedSearchQueryдля сериализации и десериализации поискового запроса. - Добавлен метод
mapToScreen(geoPointWithElevation:)в структуруProjection. - Реализован контрол отображения маршрутов на общественном транспорте.
- Реализована отправка статистики для навигатора.
🛠 Исправления
- Исправлена ошибка, когда при переходе из режима
FreeRoamв режим навигации проигрывалась инструкция о перестроении маршрута. - Исправлено пропадание промежуточных точек при перестроении маршрута.
- Добавлен таймер в 30 секунд на озвучивание инструкции о перестроении маршрута.
- Исправлена работа с дорожными событиями для анонимных пользователей.
- Убрано отображение контрола скорости для пешеходного и велосипедного маршрутов.
- Убрано оповещение о плохом сигнале GPS при старте симуляции навигации.
- Исправлена проблема появления черного экрана при инициализации карты до подгрузки цвета фона из стилей. Для задания начального цвета фона было добавлено поле
MapOptions.backgroundColor. - Исправлена ошибка, при которой не загружались тайлы карты при включенном AdGuard VPN.
- Оптимизировано отображение пробок на карте.
v1.6.12
Release Date: 08.12.2021
🛠 Исправления
- Исправили падения, связанные с системным сигналом SIGABRT.
v2.0.0
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:).
🛠 Исправления
- Исправлено отображение камер на маршруте. Теперь камеры, которые ближе к началу маршрута, всегда отображаются приоритетнее, чем камеры, которые дальше.
- Убрали уведомление о том, что необходимо предоставить разрешение на поиск устройств в локальной сети и подключение к ним. Данное уведомление появлялось при первой установке приложения с нашим MobileSDK и последующей инициализации карты.
- Исправлено падение при работе
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. - Добавлены классы
RouteиTraffic. УTrafficRouteвместо прошлого набора свойств теперь лишьrouteиtraffic, через которые можно получить полную информацию о маршруте. - Удалены
BicycleRouteSearchOptionsиPedestrianRouteSearchOptions- перенесены на будущие релизы. RouteParamsпереименован вRouteEditorRouteParams.
Миграция с v1.x
- Вместо
Arcdegree, который использовался для задания поворота камеры, широты, долготы, теперь отдельные типы -Bearing,Latitude,Longitude. - Изменен API для работы с пробками:
TrafficScoreпереименован вTrafficScoreProvider,TrafficScoreValueвTrafficScore,TrafficManagerудален -TrafficScoreProviderсоздается через конструктор. - Исправлено падение, когда при создании карты
GLContextне создавался. Теперь в случае ошибки возникает исключениеGLContextError. Нужно уметь его обрабатывать. - Метод
LocaleManager.setOverridedLocalesпереименован вoverrideLocales. - Удалено получение очереди позиционирования через
IPositioningServicesFactory.positioningQueue. Теперь внутри реализации протоколаILocationProviderне нужно вызывать callback через очередь. - Исправления и изменение API пользовательских контроллеров камеры - теперь контроллер может быть лишь один, добавляется/удаляется методами
Camera.setCustomFollowController/Camera.removeCustomFollowController.
🗺 Изменения в стилях карты
- В редакторе стилей на вкладке
Динамические объектыу объектаРадиус точности геопозициидолжен использоваться подслойs_dvg_accuracy_circle(если есть ещё 2 - это нормально, они оставлены для совместимости с первой версией). - У слоёв
Камера контроля скоростив каталогахСлой транспортных событий в режиме ведения,Слой транспортных событий,Транспортные события на маршруте в режиме веденияиТранспортные события на маршрутепоменялся масштаб отображения на 13-14. - Добавился слой
Территория парковки автосгенеренная для режима парковок. - Удалён слой
Парковки. - Добавились слои
Парковки с неизвестной ценой,Парковки для инвалидов,Парковки для резидентов,Парковки такси,Парковки бесплатные. - В каталогах
Транспортные события на маршруте в режиме веденияиТранспортные события на маршрутепоявились новые слои. Добавьте их в свои стили, чтобы продолжали отображаться камеры на маршруте, а также появились новые события. - Добавились каталоги со слоями
Слой транспортных событий в режиме веденияиСлой транспортных событийдля нового слоя дорожных событий. - Добавился каталог слоёв
Пузырьки парковок, а также слоиЗона запрета парковки для включенного слоя парковкииТерритория парковки для режима парковок. Эти данные отображаются только в случае, когда у карты задан атрибутparkingOnсо значением true. - Слой
Территория парковкитеперь отображается, когда у карты атрибутparkingOnотсутствует или выставлен в false.
v1.6.10
Release Date: 25.11.2021
🛠 Исправления
- Убрали уведомление о том, что необходимо предоставить разрешение на поиск устройств в локальной сети и подключение к ним. Данное уведомление появлялось при первой установке приложения с нашим MobileSDK и последующей инициализации карты.
- Теперь создание карты с размером 0x0 валидно.
- Исправлено падение при работе
MyLocationController.
v2.0.0-beta.8
Release Date: 22.11.2021
🌟 Новые возможности
- Добавлены сбор и отправка данных о пробках во время навигации. По умолчанию включено, выключить можно с помощью
TrafficCollector.trafficCollectingAllowed. - Данные о парковках в справочнике -
DirectoryObject.parkingInfo. - Данные об отзывах в справочнике -
DirectoryObject.reviews. - Данные о статусе работы в справочнике -
DirectoryObject.workStatus. - События в статистике о создании и удалении источников карты.
🛠 Исправления
- Обновили библиотеку libcurl. Перешли на асинхронное разрешение DNS имен.
- Отображение дорожных событий в навигаторе.
- Убрана задержка старта навигации.
- Неправильное значение
Model.stateпри переключении с режима free-roam на движение по маршруту. - Неправильный статус обновления макрографа -
RoadMacroGraph.info.updateStatus. - Поведение в случае изменения размера карты во время перелета.
- Поведение
Camera.paddingпри маленьком размере карты. - Теперь создание карты с размером 0x0 валидно.
❗️ Изменения, влияющие на обратную совместимость
- Метод
LocaleManager.setOverridedLocalesпереименован вoverrideLocales.
❗️ Прочее
- Требуется перевыгрузить стили из редактора. Исправляет отображение железных дорог, а также исправляет падение в одном из сценариев.
v1.6.8
Release Date: 19.11.2021
🌟 Новые возможности
- Обновили библиотеку libcurl. Перешли на асинхронное разрешение DNS имен.
🛠 Исправления
- Исправлено падение в загрузке тайлов карты.
- Круг(
Circle) мерцал при перемещении.
❗️ Прочее
- Требуется перевыгрузить стили из редактора. Исправляет отображение железных дорог, а также исправляет падение в одном из сценариев.
v2.0.0-beta.7
Release Date: 10.11.2021
🌟 Новые возможности
- Добавлены подписи у маркеров дорожных событий.
- Карточка добавления дорожного события (
CreateRoadEventView). - Отображение фотографии в карточке дорожного события.
- Кнопка удаления дорожного события в карточке.
- Возможность включения/выключения озвучки инструкций, препятствий и подтипа дороги -
SoundCategory.instructions,SoundCategory.obstacles,SoundCategory.roadSubtypes. - Отправляем статистику о параметрах используемых карт - размер, DPI и т. д.
🛠 Исправления
- Не озвучивались дорожные события, у которых не указана полоса.
- Не позволяем масштабировать карту двойным нажатием, когда масштабирование отключено в настройках.
- Круг(
Circle) мерцал при перемещении. - Убрана озвучка лежачих полицейских (она и раньше не работала - нет таких звуков, вместо них была пустота).
v2.0.0-beta.6
Release Date: 29.10.2021
🛠 Изменения
- Получение фотографий дорожных событий -
RoadEvent.photos. - Возможность создания дорожных событий -
RoadEventManagerс методамиcreateAccident,createCameraи др. - Возможность удалить дорожное событие -
RoadEvent.remover. - Возможность совершать действия с дорожными событиями (подтвердить, опровергнуть, лайкнуть и т. д.) -
RoadEvent.availableActions. - Улучшено описание дорожных событий-камер.
- Исправлено отображение иконок двусторонних перекрытий - раньше отображалось лишь с одной стороны.
- Возможность задать размер карты у функций вычисления позиции камеры - параметр
sizeуcalcPositionиzoomOutToFit. - Настройки маршрута
RouteMapObjectSource.routeSourceSettings,NavigationManager.routeSourceSettings, с помощью которых можно задать параметры отображения стрелок манёвров. - Озвучивание перестроения маршрута в навигаторе.
- Исправлено озвучивание сгруппированных камер - озвучивается лишь самая приоритетная.
- Индикатор загрузки при перестроении маршрута в UI навигатора.
- Исправлена ошибка при отправке статистики, при которой было мало событий
MapSourceс типом2gis.online. - Исправлены потенциальные падения в обработке сетевых запросов.
- Подробное логирование информации о сетевых запросах при уровне
LogLevel.verbose. - Поправили отображение логотипа 2GIS, чтобы Xcode не выдавал предупреждения.
- Исправлено падение в
IBatteryInfoProvider.
❗️ Изменения, влияющие на обратную совместимость
- Исправлено падение, когда при создании карты
GLContextне создавался. Теперь в случае ошибки возникает исключениеGLContextError.
v1.6.4
Release Date: 29.10.2021
- Исправлены потенциальные падения в обработке сетевых запросов.
v1.6.3
Release Date: 26.10.2021
- Определение PPI экрана новых устройств.
- Исправлен размер логотипа 2GIS на карте.
- Исправлена ошибка при отправке статистики, при которой было мало событий
MapSourceс типом2gis.online. - Исправлено падение при работе
MyLocationController. - Исправлено падение, когда при создании карты
GLContextне создавался. Теперь просто пишем ошибки в лог. - Поправили отображение логотипа 2GIS, чтобы Xcode не выдавал предупреждения.
- Исправлено падение в
IBatteryInfoProvider.
v2.0.0-beta.5
Release Date: 21.10.2021
🛠 Изменения
- Исправлено некорректное поведение кнопки закрытия карточки дорожного события.
- Исправлена проблема, при которой появлялись артефакты при скрытии контрола полосности в режиме
FreeRoam. - Теперь при достижении финишной точки маршрута скрываются контролы навигатора.
- Исправлена ошибка при скачивании территорий.
- Добавлена возможность обработки клика по дорожному событию на маршруте.
- Поддержана отрисовка камер в режиме
FreeRoamпри использовании офлайн источника дорожного графа. - Исправлена ошибка, при которой не отображались камеры при первом построении маршрута.
- Исправлено падение при работе
MyLocationController. - Исправлены ошибки при отображении дорожных событий.
- Исправлена ошибка, при которой не отображались иконки камеры контроля перекрестка.
- Добавлена возможность отключать озвучку по типу через
NavigationManager.soundNotificationSettings.enabledSoundCategories.
❗️ Изменения, влияющие на обратную совместимость
- Удалено получение очереди позиционирования через
IPositioningServicesFactory.positioningQueue. Теперь внутри реализации протоколаILocationProviderне нужно вызывать callback через очередь.
v2.0.0-beta.4
Release Date: 14.10.2021
🛠 Изменения
- Исправления в источнике дорожных событий
RoadEventSource. - Исправлена работа suggest-ов для некоторых запросов.
- Добавлено отображение дорожных событий на маршруте.
- Добавлен протокол
IRoadEventCardViewдля отображения карточки события. - Все контролы навигатора при показе уведомлений становятся неактивными.
- Для текущего манёвра теперь отображаются именованные съезды, номера съездов, следующий манёвр, если он ближе, чем 50 метров к основному манёвру.
- Появилась возможность задавать цвет контролов навигатора через
NavigationViewOptions.theme. - Повторный поиск маршрута в навигаторе, если предыдущая попытка была неуспешной.
- Возможность получить из модели навигатора текущую геопозицию, с которой работает навигатор -
Model.location. - Исправление в озвучивании камер в навигаторе - теперь сообщается расстояние до камеры, а не до начала ее действия.
- Дополнительное описание типа дороги -
RouteInfo.roadSubtypes. - Дабавлены значения по умолчанию для параметров поиска маршрута на грузовом транспорте в
TruckRouteSearchOptions.
❗️ Изменения, влияющие на обратную совместимость
- Исправления и изменение API пользовательских контроллеров камеры - теперь контроллер может быть лишь один, добавляется/удаляется методами
Camera.setCustomFollowController/Camera.removeCustomFollowController. Model.routeInfoпереименовано вModel.route,Model.currentRoutePositionвModel.routePosition, вместоModel.badLocationтеперь противоположноеModel.locationAvailable, вместоModel.currentSpeedChannelтеперьModel.locationChannel.groundSpeed.
🗺 Изменения в стилях карты
- У слоёв "Камера контроля скорости" в каталогах "Слой транспортных событий в режиме ведения", "Слой транспортных событий", "Транспортные события на маршруте в режиме ведения" и "Транспортные события на маршруте" поменялся масштаб отображения на 13-14.
- У слоёв "Территория парковки" и "Территория парковки для режима парковок" задан цвет для выделенного состояния
- Добавился слой "Территория парковки автосгенеренная для режима парковок".
- У слоёв в каталоге "Пузырьки парковок" приоритет иконки поднят до 1, чтобы они вытесняли обычные значки парковок
- Удалён слой "Парковки".
- Добавились слои "Парковки с неизвестной ценой", "Парковки для инвалидов", "Парковки для резидентов", "Парковки такси", "Парковки бесплатные".
v2.0.0-beta.3
Release Date: 07.10.2021
- Отображение дорожных событий на карте (не привязанных к конкретному маршруту) -
RoadEventSource,RoadEvent. - Возможность задать пользовательский контроллер слежения камерой -
CustomFollowController. - Исправлена регрессия: не работало перетаскивание маркеров без текста.
- Отображение на карте начала и конца платных дорог.
- Поддержка межрегионального офлайн поиска проезда.
- Поддержка такси как отдельного вида транспорта -
TaxiRouteSearchOptions. - Поддержка пропусков для грузового транспорта -
TruckRouteSearchOptions.passId,TrafficRoute.truckPassZoneIds. - Исправлено озвучивание дополнительного манёвра в навигаторе.
- Озвучивание аварий и дорожных работ в навигаторе.
- Голосовое оповещение о промежуточных точках в навигаторе.
- Исправление в притяжке к дорожному графу в навигаторе при нулевой скорости.
- Отображение следующего манёвра и номера съезда в UI навигатора.
- UI навигатора локализован на русский и английский.
- Ломающие изменения в API навигатора. Информация о маршруте -
RoadTypeInfo,TransportTypeInfo,RoadSurfaceInfo,SpeedLimitInfo,RoadNameInfo,TollInfo- теперь расположена вRouteInfoв виде списков, текущее зачение можно получить из них, обратившись по соответствующему индексу вModel-Model.roadTypeIndex,Model.transportTypeIndexи т. д. - Определение PPI экрана новых устройств.
- Изменения в стилях карты:
- Ломающее изменение. В каталогах "Транспортные события на маршруте в режиме ведения” и "Транспортные события на маршруте” появились новые слои. Добавьте их в свои стили, чтобы продолжали отображаться камеры на маршруте, а также появились новые события.
- Добавились каталоги со слоями "Слой транспортных событий в режиме ведения” и "Слой транспортных событий” для нового слоя дорожных событий
- Добавился каталог слоёв "Пузырьки парковок", а также слои "зона запрета парковки для включенного слоя парковки” и "Территория парковки для режима парковок". Эти данные отображаются только в случае, когда у карты задан атрибут parkingOn со значением true.
- Слой "Территория парковки". теперь отображается, когда у карты атрибут parkingOn отсутствует или выставлен в false.
v2.0.0-beta.2
Release Date: 28.09.2021
- Исправлена гонка в
RouteMapObject, что могло приводить к его неправильному отображению. - Добавлено отображение на карте и озвучка новых типов камер.
- Добавлено свойство
Camera.size- размер области просмотра в пикселях. - Ломающие изменения в API навигатора:
- свойство
Model.maneuverInstructionIndexпереименовано вinstructionIndex; - Для получения информации о инструкциях навигатора служит
RouteInfo.instructions, получить название манёвра из которых можно с помощью функцииgetInstructionManeuver
- свойство
- Исправлено слежение за геопозицией при использовании навигатора с несколькими картами одновременно.
- Убран лишний переход
Modelв состояниеState.DISABLEDпри перепоиске маршрута.
v1.6.2
Release Date: 23.09.2021
- Исправлены проблемы, которые возникли после доработки перемещения маркеров без текста - медленно работали статичные маркеры без текста и для маркеров без текста не устанавливалась прозрачность.
- Обновлен размер логотипа 2GIS на карте.
- Исправлена проблема, когда при задании угла наклона при создании карты, угол наклона сбрасывался при любом изменении карты.
v2.0.0-beta.1.2
Release Date: 23.09.2021
- Исправлены проблемы, которые возникли после доработки перемещения маркеров без текста - медленно работали статичные маркеры без текста и для маркеров без текста не устанавливалась прозрачность.
- Обновлен размер логотипа 2GIS на карте.
- Исправлена проблема, когда при задании угла наклона при создании карты, угол наклона сбрасывался при любом изменении карты.
v1.6.0
Release Date: 21.09.2021
- Существенно ускорено перемещение маркеров без текста.
Важно: необходимо переэкспортировать стиль из редактора стилей, без этого маркеры не будут отображаться. - Изменена логика кластеризации - в качестве центра кластера берется центр масс подкластеров предыдущего уровня.
- Исправлена ошибка, когда в режиме кластеризации при удалении маркера удалялись соседние близко расположенные маркеры.
- Исправлена работа
SuggestQueryBuilder.setSuggestorType- ранее эта опция не влияла на результат.
v2.0.0-beta.1
Release Date: 21.09.2021
- Существенно ускорено перемещение маркеров без текста.
Важно: необходимо переэкспортировать стиль из редактора стилей, без этого маркеры не будут отображаться. - Изменена логика кластеризации - в качестве центра кластера берется центр масс подкластеров предыдущего уровня.
- Исправлена ошибка, когда в режиме кластеризации при удалении маркера удалялись соседние близко расположенные маркеры.
- Исправлена работа
SuggestQueryBuilder.setSuggestorType- ранее эта опция не влияла на результат. - Добавлены свойства
TrafficRoute.startPoint,TrafficRoute.finishPoint- начальная и конечная точка маршрута. - Добавлены настройки управления масштабированием в навигаторе -
NavigationManager.zoomFollowSettings. - Добавлены настройки обновления пробочных данных в навигаторе -
NavigationManager.trafficSettings. - Для настройки звука были добавлены
AudioOptionsиIAudioSettings. Настроить можно приглушение звуков сторонних приложений в навигаторе и уровень громкости при воспроизведении. - Контрол слежения в навигаторе -
NavigatorFollowingControl. BetterRouteControlViewпри отсутствии с ним взаимодействия переходит в свернутое состояние.
Миграция с v1.x
- Вместо
Arcdegree, который использовался для задания поворота камеры, широты, долготы, теперь отдельные типы -Bearing,Latitude,Longitude. - Изменен API для работы с пробками:
TrafficScoreпереименован вTrafficScoreProvider,TrafficScoreValueвTrafficScore,TrafficManagerудален -TrafficScoreProviderсоздается через конструктор. - Поменялись базовые стили. В редакторе стилей на вкладке
Динамические объектыу объектаРадиус точности геопозициидолжен использоваться подслойs_dvg_accuracy_circle(если есть ещё 2 - это нормально, они оставлены для совместимости с первой версией).
v1.5.0
Release Date: 06.09.2021
- Исправлена проблема с освобождением памяти после удаления
MapView. - Исправлена проблема смены иконки у маркера через
Marker.icon, при которой до появления нового загруженного изображения отрисовывалась пустая иконка. Теперь до загрузки нового изображения отображается старое. - Доработана отрисовка перекрытий на дороге поверх пробок.
- Реализован контрол пробок
TrafficControlдля включения отрисовки пробок на карте и отображения пробочного балла. Получить объект контрола можно с помощьюIMapControlFactory.makeTrafficControl. - Исправлено падение
Mobile SDKнаiOS 15 beta, когда приложение находилось в свернутом состоянии.
v2.0.0-alpha.8
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 - это нормально, они оставлены для совместимости с первой версией).
v2.0.0-alpha.7
Release Date: 26.08.2021
- Исправлена проблема, при которой
MapObjectManager.removeObjectне отрабатывал, если параллельно у удаляемого объекта изменять атрибуты. - Доработана кластеризация, формируемая через
MapObjectManager.withClustering. Теперь при удалении маркеров изMapObjectManagerпозиция кластеров корректируется в случае, если был удален кластерообразующий маркер. - Теперь
CameraPositionPointучитывается при расчете позиции камерыCameraPositionс помощью функцииcalcPosition. - Ломающее изменение. Доработано отображение маркера текущего местоположения - теперь иконку с направлением можно рисовать всегда, независимо от режима навигации.
В случае использования кастомных стилей, в редакторе стилей нужно поправить динамические объекты текущего местоположения следующим образом:
- У
Маркер на автоиМаркер на авто, устаревшая позицияв пунктеВидимостьперевести тумблерРежим навигатораи выбрать пунктВключен. - У
Маркер с направлением,Маркер без направленияиМаркер без направления, устаревшая позицияв пунктеВидимостьперевести тумблерРежим навигатораи выбрать пунктВыключен.
- У
- Исправлено зависание в
TrafficSource - Исправления в притяжке к маршруту в режиме Free Roam
v1.4.0
Release Date: 24.08.2021
- Исправлена проблема, при которой
MapObjectManager.removeObjectне отрабатывал, если параллельно у удаляемого объекта изменять атрибуты. - Доработана кластеризация, формируемая через
MapObjectManager.withClustering. Теперь при удалении маркеров изMapObjectManagerпозиция кластеров корректируется в случае, если был удален кластерообразующий маркер. - Теперь
CameraPositionPointучитывается при расчете позиции камерыCameraPositionс помощью функцииcalcPosition. - Ломающее изменение. Доработано отображение маркера текущего местоположения - теперь иконку с направлением можно рисовать всегда, независимо от режима навигации.
В случае использования кастомных стилей, в редакторе стилей нужно поправить динамические объекты текущего местоположения следующим образом:
- У
Маркер на автоиМаркер на авто, устаревшая позицияв пунктеВидимостьперевести тумблерРежим навигатораи выбрать пунктВключен. - У
Маркер с направлением,Маркер без направленияиМаркер без направления, устаревшая позицияв пунктеВидимостьперевести тумблерРежим навигатораи выбрать пунктВыключен.
- У
v2.0.0-alpha.6
Release Date: 13.08.2021
- Добавлена возможность настройки пешеходной озвучки маршрута при навигации.
- В
NavigationManager.uiModelдобавлен каналnavigationActiveChannel, который возвращает два состояния -activeиinactive. Второе состояние выставляется, когда пользователь закончил движение на автомобиле, и навигатор можно выключить. - Исправлено падение при параллельном изменении позиции маркера и переинициализации
MapObjectManager. - Исправлена ошибка, при которой переставала работать кластеризация при малых значениях zoom-уровня (0 или 1).
- Исправлено некорректное поведение при клике в кластер при отображении кластеризации.
- Добавлена поддержка
Map.interactiveдля жестов карты и копирайта. - Исправлена ошибка, при которой появлялась утечка памяти, если карта становилась невидимой, но с ней продолжал работать прикладной код (изменять текущие объекты на карте, добавлять новые и т. д.).
v1.3.0
Release Date: 12.08.2021
- Исправлено падение при параллельном изменении позиции маркера и переинициализации
MapObjectManager. - Исправлена ошибка, при которой переставала работать кластеризация при малых значениях zoom-уровня (0 или 1).
- Исправлено некорректное поведение при клике в кластер при отображении кластеризации.
- Добавлена поддержка
Map.interactiveдля жестов карты и копирайта. - Исправлена ошибка, при которой появлялась утечка памяти, если карта становилась невидимой, но с ней продолжал работать прикладной код (изменять текущие объекты на карте, добавлять новые и т. д.).
v2.0.0-alpha.5
Release Date: 06.08.2021
- Исправлена проблема в навигаторе, при которой в режиме навигации происходили продолжительные фризы, а маркер позиции имел некорректное направление и смещался в случайное положение.
- В
MapObjectManagerпоявился методclusteringObjects(сameraPosition:)для получения объектов кластеризации для заданной позиции камеры. Метод возвращает как кластерыSimpleClusterObject, так и маркерыMarker. - С помощью объекта
SimpleClusterObjectтеперь можно изменять атрибуты кластера также, как и атрибуты маркеровMarker, за исключением позиции кластера. - Исправлена ошибка, при которой
IMapViewне работал, если был уничтожен создавший ееIMapFactory. Теперь нет необходимости всегда хранить объектIMapFactory. - Исправлена проблема, при которой невозможно было выбрать маршрут при максимальных значениях zoom-уровня.
- Убрали подвисание слежения за текущей позицией при смене длительности анимации в навигаторе.
v1.2.0
Release Date: 05.08.2021
- В
MapObjectManagerпоявился методclusteringObjects(сameraPosition:)для получения объектов кластеризации для заданной позиции камеры. Метод возвращает как кластерыSimpleClusterObject, так и маркерыMarker. - С помощью объекта
SimpleClusterObjectтеперь можно изменять атрибуты кластера также, как и атрибуты маркеровMarker, за исключением позиции кластера. - Исправлена ошибка, при которой
IMapViewне работал, если был уничтожен создавший ееIMapFactory. Теперь нет необходимости всегда хранить объектIMapFactory.
v2.0.0-alpha.4
Release Date: 28.07.2021
- В классе
RouteMapObjectдобавлен каналcalloutPositionChannelс позицией баблика над маршрутом. - В структуру
Camera, которую возвращаетNavigationManager, добавлено полеrange- информация о радиусе действия камеры. - Была разделена озвучка навигатора в зависимости от типа маршрута - пешеходный/велосипедный/автомобильный.
v1.1.0
Release Date: 28.07.2021
-
Исправлена ошибка, когда через
MapObjectManagerдобавляется на карту маркер до полной загрузки изображения. -
Добавлен новый протокол
IEnergyConsumptionдля установки максимального fps в обычном режиме и в режиме энергосбережения. -
Исправлена ошибка, при которой карта не обновлялась, когда удалялись маркера при кластеризации через
MapObjectManager. -
Исправлена ошибка, при которой маркер моего местоположения поворачивался в противоположную сторону.
-
Частично исправлена проблема утечки памяти при частом обновлении геометрии у объектов карты (например, раз в 10 мс менять точки у полилинии). Полное исправление будет в следующих релизах.
-
Обновлены общие стили:
-
В редактор перенесены:
A. Стрелки манёвров (Линия маршрута на авто => 4 слоя
Стрелки манёвров*).B. Начальная, конечная, промежуточная точка маршрута, а также точка соединения разных частей маршрутов (слои
Точка Б,Точка А,Соединительные точки,Промежуточные точкив каталогеДинамические объекты).C. Маркеры поисковой выдачи (слои
Поисковой маркер выделение,Поисковой маркер,Генерализованный маркерв каталогеДинамические объекты).D. Объекты на маршруте (слои в каталогах
TUGC на маршруте в режиме веденияиTUGC на маршруте).E. Пешеходные части маршрутов (слои в каталогах
Линия пешего маршрута в ведениииЛиния пешего маршрута).F. Маркер геопозиции для пешеходного режима (слои
Маркер с направлением,Маркер без направления,Устаревший маркер без направленияв каталогеДинамические объекты).Теперь эти объекты настраиваются из редактора и не отображаются безусловно поверх всего. Слои нужно скопировать в свои стили и расположить в аналогичном порядке, чтобы все объекты отображались с новой версией SDK корректно. Для копирования слоя можно выделить нужные слои, нажать
Ctrl+C/Cmd+Cи открыть в том же окне другой стиль. -
Удалён слой
Маркер пешком. Его также нужно удалить в собственных стилях. -
Изменены слои для отображения подъездов (слои
Подъезды над домамииПодъезды под домами). Теперь данные задаются не через JSON, а выбраны правильные слои во вкладкеДанные. Также в ночной теме у подъездов под домами убран шрифт, чтобы они отображались без подписей. Нужно внести аналогичные изменения в собственных стилях. -
В ночную тему в каталог
Подписи гео объектовдобавлены слоиПодписи горных хребтовиПодписи платформ, а в каталогДостопримечательности— слойГраффити. -
В дневную тему в каталог
Достопримечательностидобавлены слоиЁлочный базар,Полиция,Душевая кабина,Танцпол. -
Изменены слои в каталоге
Дороги, требуется их обновить в собственных стилях.
-
v2.0.0-alpha.3
Release Date: 23.07.2021
-
Исправлена проблема с ведением по длинному маршруту: обновление маркера геопозиции и всей карты происходило не плавно, а рывками.
-
Исправлена ошибка, когда через
MapObjectManagerдобавляется на карту маркер до полной загрузки изображения. -
Добавлен новый протокол
IEnergyConsumptionдля установки максимального fps в обычном режиме и в режиме энергосбережения. -
Исправлена ошибка, при которой карта не обновлялась, когда удалялись маркера при кластеризации через
MapObjectManager. -
Исправлена ошибка, при которой маркер моего местоположения поворачивался в противоположную сторону.
-
Обновлены общие стили:
-
В редактор перенесены:
A. Стрелки манёвров (Линия маршрута на авто => 4 слоя
Стрелки манёвров*).B. Начальная, конечная, промежуточная точка маршрута, а также точка соединения разных частей маршрутов (слои
Точка Б,Точка А,Соединительные точки,Промежуточные точкив каталогеДинамические объекты).C. Маркеры поисковой выдачи (слои
Поисковой маркер выделение,Поисковой маркер,Генерализованный маркерв каталогеДинамические объекты).D. Объекты на маршруте (слои в каталогах
TUGC на маршруте в режиме веденияиTUGC на маршруте).E. Пешеходные части маршрутов (слои в каталогах
Линия пешего маршрута в ведениииЛиния пешего маршрута).F. Маркер геопозиции для пешеходного режима (слои
Маркер с направлением,Маркер без направления,Устаревший маркер без направленияв каталогеДинамические объекты).Теперь эти объекты настраиваются из редактора и не отображаются безусловно поверх всего. Слои нужно скопировать в свои стили и расположить в аналогичном порядке, чтобы все объекты отображались с новой версией SDK корректно. Для копирования слоя можно выделить нужные слои, нажать
Ctrl+C/Cmd+Cи открыть в том же окне другой стиль. -
Удалён слой
Маркер пешком. Его также нужно удалить в собственных стилях. -
Изменены слои для отображения подъездов (слои
Подъезды над домамииПодъезды под домами). Теперь данные задаются не через JSON, а выбраны правильные слои во вкладкеДанные. Также в ночной теме у подъездов под домами убран шрифт, чтобы они отображались без подписей. Нужно внести аналогичные изменения в собственных стилях. -
В ночную тему в каталог
Подписи гео объектовдобавлены слоиПодписи горных хребтовиПодписи платформ, а в каталогДостопримечательности— слойГраффити. -
В дневную тему в каталог
Достопримечательностидобавлены слоиЁлочный базар,Полиция,Душевая кабина,Танцпол. -
Изменены слои в каталоге
Дороги, требуется их обновить в собственных стилях.
-
v2.0.0-alpha.2
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 целиком.
v1.0.1
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:). -
Оптимизация работы с сетевыми соединениями.
v0.16.1
Release Date: 07.06.2021
- Обновлены стандартные стили карты - исправлены размеры надписей и иконок.
v0.16.0
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и т. д. для их создания.
v0.15.0
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.
v0.14.0
Release Date: 05.05.2021
-
Исправлена ошибка при добавлении маркера на карту через
MapObjectManager.По умолчанию маркер был направлен на север. Это приводило к тому, что его угол поворота зависел от угла поворота карты.
Теперь маркер направлен к верху экрана устройства независимо от поворота карты.
-
Ломающее изменение. Изначальный поворот маркера (
MarkerOptions.iconMapDirection) и поворот существующего маркера (Marker.iconMapDirection) теперь имеют зануляемый типMapDirection?.Нулевое значение означает, что маркер будет направлен к верху экрана устройства независимо от поворота карты.
v0.13.0
Release Date: 30.04.2021
- Добавлена возможность задать поворот маркера. Изначальный поворот —
MarkerOptions.iconMapDirection; поворот существующего маркера —Marker.iconMapDirection. - В копирайте на карте по умолчанию не отображается версия SDK. Чтобы включить, нужно установить
MapView.showsAPIVersionвtrue. - Добавлена возможность получения местоположения и направления камер в навигаторе:
Camera.geoPoint,Camera.bearing. - Добавлена возможность задать точку местоположения (
positionPoint) в функцияхcalcPositionиzoomOutToFit. - Ломающее изменение. Многие функции создания объектов заменены на инициализаторы соответствующего типа.
Например:
createMapObjectManager→MapObjectManager.init;Geometry.createPoint→PointGeometry.initи т. д.
v0.12.2
Release Date: 24.04.2021
- Исправлены параметры при сборе статистики.
v0.12.1
Release Date: 23.04.2021
- Исправлено отображение карты на разных масштабах.
- Исправлен механизм сбора статистики.
- Исправлена проблема с маркерами, при которой они вытесняли друг друга на разных масштабах.
- Установлено минимальное значение zoom-левела равное 2.
v0.12
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изменился cCGFloat?наDevicePpi?в целях улучшения документации. -
Добавлен сбор анонимной статистики использования. По умолчанию включён. См. параметр
dataCollectionOptionsуContainer.init. Отключать рекомендуется только в случае явного выбора пользователем (например, отказ GDPR).
v0.11
Release Date: 15.04.2021
- Управление и получение информации о HTTP-кеше —
HttpCacheManager. - Нестатические свойства большинства структур сделаны изменяемыми (т.е.
let→var). - Информация о полосах движения маршрута -
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.
v0.10
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.positionChannel—StatefulChannel<CameraPosition>. Это изменение в силе для всех свойств, ранее имевших типStatefulChannel`.
v0.9
Release Date: 24.03.2021
- добавили возможность рисовать пунктирную линию
opacityдля Marker- функции конверторы для работы со Style Zoom (
projectionZToStyleZ,styleZToProjectionZ) - для работы с атрибутами карты добавлен новый тип
AttributeValue - из
DgisMapObjectбольше нельзя получить Future на объект справочника. Для этого нужно использоватьSearchManager настройки HTTP-клиента: время ожидания, наличие и размер дискового кеша- возможность задавать собственные реализации сервисов геопозиционироваания или отключать их (например, для симулятора)
v0.8
Release Date: 17.03.2021
- добавили кэш для тайлов на карте. Возможность конфигурировать размер кэша появится в следующем релизе
Paddingна карте- для объектов Polygon/Polyline добавилась возможность изменить текущую геометрию
- добавили источник для растровых тайлов (см.
createRasterTileData,createRasterTileDataSource) - поддержали атрибут
themeдля стилей карты выгруженных из редактора