Обновление платформы Навигационные решения (Лето 2026): Ускорение карт, обновление SDK и гранулярный контроль доступа
Разработчики платформы Навигационные решения представили масштабное летнее обновление. Инженерная команда сфокусировалась на трех ключевых направлениях: повышение производительности картографического движка, модернизация архитектуры кроссплатформенных SDK и внедрение детализированного управления доступом для корпоративных клиентов.
В этой статье подробно разобраны все нововведения в веб-клиенте, мобильных SDK, backend API и движке трекинга.
TL;DR
Летний релиз платформы Навигационные решения за 2026 год принес четыре ключевых изменения:
-
Веб-редактор: Переход на OpenLayers 10, отмена действий (Undo), фиксация прямых углов (
Shift) и умный поиск объектов. -
Мобильные SDK (v2.26.x): Новая архитектура биндингов (
common), поддержка SPM и Maven Central, кластеризация икон. -
Безопасность: Разграничение прав пользователей по локациям через Scopes и JWT-токены.
-
Маршрутизация и Трекинг: Таймауты QRouter, наложение изображений в отчетах и бета-версия 3D-визуализации.
Веб-клиент и картографический движок

Переход на OpenLayers 10 и улучшение редактора карт
Ядро картографического веб-движка обновлено с OpenLayers 5 до OpenLayers 10. Этот мажорный архитектурный сдвиг обеспечивает значительный прирост производительности при работе с крупными планами помещений:
-
Целевой рендеринг маршрутов: Изменение маршрутов больше не вызывает полный цикл перерисовки карты. Рендерер выборочно обновляет только измененные векторы путей.
-
Ускоренный рендеринг направлений: Однонаправленные стрелки маршрутов теперь рендерятся заметно быстрее при работе с плотными сетями маршрутов.
-
История действий (Undo): Добавлена полноценная возможность отмены операций при редактировании маршрутов, что предотвращает случайные удаления при корректировке планов этажей.
-
Точные инструменты рисования: Удерживание клавиши
Shiftпри рисовании маршрутов, барьеров или зон фиксирует курсор, позволяя строить строго вертикальные или горизонтальные сегменты линий. -
Улучшения вьюпорта и сетки: Исправлены проблемы с адаптивностью на узких вьюпортах и добавлена возможность выставления произвольного угла для Grid.
Улучшения UI и поиск элементов карты
-
Интегрированный инструмент поиска: В панель инструментов карты веб-клиента добавлено специальное действие поиска, позволяющее операторам мгновенно находить конкретные передатчики, венью, камеры и сенсоры на активных этажах.
-
Обновление интерфейса: Обновлены основные элементы навигации — классическая кнопка "Редактирование" (Edit) теперь стандартизирована как "Инструменты" (Tools). Дроверы меню теперь имеют плавные анимации открытия/закрытия, а стили селекторов хедера (Локации, Приложения, Лицензии) унифицированы по всем вкладкам администрирования.
Мобильные SDK (v2.26.0 – v2.26.2)
Мобильные и кроссплатформенные движки навигации (iOS, Android, Flutter) получили структурный рефакторинг, направленный на упрощение интеграции, ускорение сборки и повышение безопасности во время выполнения.
Модернизированная инфраструктура биндингов
Произошла замена поставляемой ранее библиотеки djinni_support_lib на унифицированную библиотеку common, которая напрямую управляет инфраструктурой биндингов целевых платформ:
-
Нативные биндинг-рантаймы: Переписаны генераторы JNI (Android), Objective-C++ (iOS) и FFI (Flutter) для работы с нативными namespace-обертками.
-
Общие типы: Общие классы геометрии и ошибок (Point, Polygon, Error) теперь выделены в независимый IDL-модуль (
common.djinni). -
Автоматическое управление жизненным циклом слушателей: Сгенерированные биндинги теперь автоматически управляют жизненным циклом слушателей, безопасно отписывая устаревшие колбэки за кулисами.
Кластеризация объектов карты и исправления рендеринга
-
Кластеризация иконок: Внедрены
ClusterMapObjectиClusterMapObjectControllerдля аккуратной обработки высокой визуальной плотности данных на экранах мобильных устройств. -
Публикация и распространение: iOS-разработчики теперь могут подключать SDK через Swift Package Manager (SPM) наряду с CocoaPods. Артефакты для Android публикуются напрямую в Maven Central с поддержкой Javadoc на JitPack.
-
Исправления графики и навигации: Решены проблемы в графическом пайплайне, связанные с загрузкой функций OpenGL/Vulkan, и устранено мигание направления на слое
DefaultNavigationLayer.
Платформа безопасности, трекинг и маршрутизация
Детализированный контроль доступа по локациям (Scopes)
Корпоративные администраторы теперь могут ограничивать права участников команд на просмотр и управление конкретными локациями внутри одного приложения:
-
Scopes в API и JWT: Движок авторизации обновлен для передачи
scopes: { locations: number[]; }внутри JWT-токенов (payloadactiveApp). -
Ограничение API-эндпоинтов: Реализована строгая серверная валидация доступа к локациям для
GET-запросов локаций, сублокаций, элеваций, маршрутов, передатчиков, венью и навигационных логов. -
Управление в UI Team: На страницу администрирования Apps в Team management добавлена колонка Scopes. Администраторы могут назначать доступ к локациям через инструмент мультиселектора.
Производительность маршрутизации (QRouter)
-
TSP оптимизация: В движок оптимизации TSP (задача коммивояжера) добавлено строгое ограничение таймаута в 1 секунду, чтобы предотвратить длительные паузы при выполнении массивных запросов маршрутизации.
-
Схлопывание дубликатов: Движок теперь автоматически объединяет дублирующиеся позиции сбора (товары, расположенные на одном стеллаже с одинаковыми приоритетами) перед запуском расчетов маршрута.
-
Кастомные профили: Применены индивидуальные пороги оптимизации точек (
minPointsToOptimize) для активных локаций клиентов, чтобы сбалансировать точность маршрута и вычислительные накладные расходы.
Обновление движка трекинга
-
Image Overlays в отчетах: Отчеты по тепловым картам и истории трекинга теперь поддерживают явные наложения изображений, обеспечивая более четкий пространственный контекст.
-
3D Визуализация Локаций (Beta): Выпущено предварительное превью 3D-рендеринга локаций внутри приложения Трекинга для основных администраторов.