Сервис 2ГИС (ДваГИС) давно стал неотъемлемым спутником миллионов пользователей в России и странах СНГ. Это не просто карта, а полноценный справочник организаций, навигатор и инструмент для планирования маршрутов. Однако, как и любой современный веб-сервис, 2ГИС постоянно эволюционирует, внедряя новые технологии (WebGL, WebAssembly, Service Workers), что неизбежно влияет на совместимость с различными браузерами и их версиями.
В этой статье мы подробно разберем, как 2ГИС ведет себя в актуальных версиях популярных браузеров, какие проблемы могут возникнуть в устаревших сборках и как обеспечить максимально комфортную работу с сервисом.
Архитектура веб-версии 2ГИС: что под капотом?
Понимание технологического стека помогает осознать системные требования. Современная веб-версия 2ГИС (доступная по адресу 2gis.ru) — это сложное одностороннее приложение (SPA), построенное на следующих технологиях:
- Рендеринг карты: Используется собственный движок на базе WebGL (через библиотеку MapGL). Это позволяет рисовать векторную карту с 60 FPS, плавно масштабировать, вращать и наклонять вид в 3D.
- Логика приложения: TypeScript / React (в последних версиях мигрировали с внутренних фреймворков на React для UI-слоя).
- Офлайн-работа и кэширование: Service Workers (Cache API, IndexedDB) для сохранения тайлов карты, справочника и маршрутов.
- Геолокация: Geolocation API (с защитой контекста — только HTTPS).
- Работа с данными: Web Workers для тяжелых вычислений (построение маршрутов, поиск) без блокировки главного потока.
Работа в современных браузерах (Последние 2 мажорные версии)
На момент написания статьи (2024–2025 гг.) к «современным» относятся: Google Chrome 110+, Mozilla Firefox 115+ (включая ESR), Microsoft Edge 110+, Apple Safari 16+ (macOS Ventura / iOS 16), Yandex Browser 23+.
Google Chrome / Microsoft Edge / Yandex Browser (Движок Blink)
Это эталонная платформа для 2ГИС. Команда разработки тестирует релизы в первую очередь на Chromium.
- Производительность: Максимальная. Аппаратное ускорение WebGL работает стабильно. 3D-здания, плавная анимация перелетов, растеризация векторов, всё летает.
- PWA (Progressive Web App): Полная поддержка. Можно «установить» 2ГИС как приложение (ярлык на рабочем столе, отдельное окно, иконка в трее/доке). Service Workers корректно кэшируют данные для офлайн-режима.
- Сенсорный ввод: Отличная поддержка тач-событий (Pointer Events) на трансформерах и планшетах под Windows.
- WebGPU (Перспектива): В последних версиях Chrome/Edge (флагом или по умолчанию) включается WebGPU. 2ГИС экспериментально тестирует рендеринг на WebGPU для еще большей производительности на современных GPU.
Mozilla Firefox (Движок Gecko / SpiderMonkey)
Полноценная поддержка с версии 115 ESR. Ранние версии (до 100) имели проблемы с производительностью WebGL на некоторых драйверах Windows (проблема ANGLE), но сейчас это решено.
- Особенность: Firefox строже относится к политике безопасности (COOP/COEP заголовки). Иногда это вызывает проблемы с загрузкой веб-воркеров, если корпоративный прокси/антивирус режет заголовки.
- PWA: Firefox официально убрал поддержку «установки» PWA в десктопной версии (удален
about:configфлагwebapp.enableв 2021 г.). 2ГИС работает как обычная вкладка. На Android, полноценная поддержка PWA. - Приватность: «Строгая защита от отслеживания» (Strict Tracking Protection) может блокировать загрузку виджетов сторонних сервисов (отзывы, фото из соцсетей), но саму карту и поиск не ломает.
Apple Safari (Движок WebKit)
Ключевой момент: на iOS/iPadOS все браузеры, это оболочки над WebKit. Поэтому поведение 2ГИС в Chrome для iOS, Яндекс для iOS и Safari идентично.
- Версия 16+: Полная поддержка всех фич: WebGL 2, Service Workers, Web Push API (уведомления о пробках/маршрутах), OffscreenCanvas.
- Сенсорный интерфейс: Нативная поддержка жестов (пинч-зум, вращение двумя пальцами, наклон тремя). Работает плавнее, чем на Android/Windows за счет жесткой интеграции жестов в ОС.
- PWA: Поддержка «Добавить в «Начальный экран»» (Add to Home Screen) работает отлично. Приложение открывается в полноэкранном режиме без адресной строки.
- Проблема памяти: На старых iPhone (6s, SE 1, 7) с 2 Гб ОЗУ Safari может выгружать вкладку при переключении между приложениями, теряя состояние карты (кэш Service Worker спасает тайлы, но состояние JS-приложения теряется).
Safari на macOS (Ventura 13+, Sonoma 14+)
- Стабильная работа. Есть нюанс с управлением жестами трекпада: нативный «свайп назад/вперед» в Safari иногда конфликтует с навигацией по истории внутри 2ГИС (SPA-роутинг). Разработчики 2ГИС перехватывают
popstate, но иногда срабатывает нативный жест браузера.
Работа в устаревших и «проблемных» браузерах
Здесь начинается самое интересное. 2ГИС не блокирует вход со старых браузеров (нет жесткого «Browser Unsupported» экрана), но функционал деградирует.
Internet Explorer 11 (IE11)
Статус: Не поддерживается с 2022 года.
- Современная версия 2ГИС не загрузится. Вы увидите белый экран или ошибку JS (
SyntaxErrorиз-за стрелочных функций,Promise,async/await, деструктуризации). - Polyfill.io или core-js не спасут — объем кода и зависимость от WebGL делают IE11 несовместимым принципиально.
- Решение: Только десктопное приложение 2ГИС (Electron-based) на Windows 7/8.1 (если оно еще запускается) или смена браузера.
- Нет поддержки Service Workers (появилась только в Edge 17, но с багами), нет WebGL 2, проблемы с IndexedDB.
- Карта может загрузиться в «режиме совместимости» (растровые тайлы вместо векторов), но 3D, плавный зум и офлайн не будут работать.
Firefox ESR 102 / 91 (еще встречаются в корпоративных средах)
- Работает, но с оговорками. Поддержка WebGL 2 есть. Service Workers есть.
- Проблемы с производительностью на интегрированной графике Intel (драйверы Windows + ANGLE в Firefox ESR старых версий).
- Могут не работать новые CSS-фичи (Container Queries, :has, Cascade Layers), из-за чего UI может «прыгать» или некрасно выглядеть.
Safari 14 / 15 (macOS Big Sur / Monterey, iOS 14 / 15)
- Критическая проблема: Отсутствие поддержки OffscreenCanvas и частичных API WebGL 2 (например,
drawBuffersдля deferred rendering). - Результат: Рендеринг идет в главном потоке -> просадки FPS при движении карты, нагрев процессора, быстрая разрядка батареи на MacBook/MacBook Air M1/M2 (даже на новых чипах старый Safari не использует GPU эффективно).
- Нет поддержки Web Push API — уведомления не работают.
Браузеры на старых Android (WebView / Chrome 70-90)
- Часто встречаются на дешевых панелях навигации, кассовых аппаратах, старых планшетах (Android 7-9).
- Проблемы: Нет IntersectionObserver v2 (ленивая загрузка фото организаций ломается), баги в IndexedDB (кэш не пишется/читается), нет Web Share API Level 2 (нельзя поделиться местом в нативные приложения).
- Карта загружается, но поиск и детали фирм могут выдавать ошибки сети.
Режимы деградации функционала (Graceful Degradation)
2ГИС пытается сохранить работоспособность ядра (поиск, просмотр карты) даже в неидеальных условиях:
- Фоллбек на растровые тайлы: Если WebGL не инициализируется (черный список GPU, старый драйвер, headless-браузер), 2ГИС может переключиться на загрузку готовых PNG/JPG тайлов (как статичная карта Google Maps 2010 года). Потеряны: 3D, плавный зум, вращение, наклон, динамическая подсветка домов.
- Отключение Service Workers: Если браузер в приватном режиме (Incognito/Private) или блокирует сторонние куки/хранилище (Safari ITP, Brave Shields), офлайн-режим и быстрый повторный запуск отключаются. Каждый заход — полная загрузка с сети.
- Упрощение UI: На очень старых движках отключаются сложные анимации (Framer Motion / CSS Transitions), заменяются на мгновенное переключение состояний.
Десктопные приложения 2ГИС (Electron) как альтернатива
Если браузер слишком старый (Windows 7, старый Linux дистрибутив) или корпоративная политика запрещает современные браузеры — лучшим решением является установка десктопного клиента 2ГИС.
- Движок: Electron (Chromium + Node.js). Внутри — та же кодовая база, что и веб-версия.
- Преимущество: Приложение приносит свой актуальный Chromium. Независимо от версии браузера в системе, 2ГИС будет работать на движке, который был актуален на момент сборки релиза (обычно не старше 6-12 месяцев).
- Офлайн: Полноценная скачка базы города (файлы .dgdat) — работает без интернета вообще, быстрее веб-версии.
- Интеграция: Протокол
2gis://для запуска из других программ (1С, CRM, Excel).
Типичные проблемы и их решение (Troubleshooting)
| Симптом | Причина (Браузер/Окружение) | Решение |
|---|---|---|
Черный экран вместо карты, в консоли WebGL context lost или Failed to create WebGL context | Устаревшие/сломанные драйверы GPU (часто Intel HD Graphics 3000/4000 на Windows 10), отключено аппаратное ускорение в настройках браузера, черный список GPU в Chrome (chrome://gpu). | Обновить драйверы видеокарты с сайта производителя (Intel/AMD/Nvidia), а не через Windows Update. Включить «Использовать аппаратное ускорение» в настройках браузера. Запустить браузер с флагом --ignore-gpu-blocklist (на свой страх и риск).Использовать десктопное приложение. |
| Карта «дергается», низкий FPS (10-15), нагрев ноутбука | Проверить chrome://gpu / about:support (Graphics -> Compositing / WebGL Renderer). Если там SwiftShader или Mesa llvmpipe — проблема в драйверах или блоклисте GPU. | |
| Не работает «Моя геолокация» (кнопка прицела) | Сайт открыт по HTTP (не HTTPS), браузер блокировал запрос разрешения, в ОС отключена геолокация для браузера, корпоративная политика (Group Policy) запрещает Geolocation API. | Открыть только по HTTPS (2gis.ru редиректит на HTTPS). Проверить настройки сайта (замочек в адресной строке) -> Геолокация: «Разрешить». Проверить настройки приватности Windows/macOS/Android/iOS. |
| Не сохраняется кэш / не работает офлайн / каждый раз качает карту заново | Режим Инкогнито / Приватное окно. Настройки «Удалять куки и данные сайтов при закрытии». Антивирус/Клинер (CCleaner, Kaspersky) чистит IndexedDB/Service Worker при закрытии браузера. Safari ITP (Intelligent Tracking Prevention) удаляет хранилище через 7 дней неактивности. | Не использовать инкогнито для постоянной работы. Добавить 2gis.ru в исключения очистки куки/данных сайтов в браузере и антивирусе. На iOS — только PWA-версия (с экрана «Домой») гарантирует сохранение кэша дольше 7 дней. |
| Ломается верстка: наезжают кнопки, нет шрифтов, белые квадраты вместо иконок | Блокировщик рекламы (uBlock Origin, AdGuard) с агрессивными фильтрами режет CSS/Fonts/JS чанки, считая их трекерами. Корпоративный прокси режет .woff2 / .js.map / .wasm файлы. | Отключить блокировщик для 2gis.ru. Проверить консоль сети (DevTools -> Network) на наличие заблокированных ресурсов (статус blocked или failed с типом font/script). |
Рекомендации по выбору браузера для 2ГИС в 2024-2025 гг;
Для обычного пользователя (Windows / macOS / Linux):
- Google Chrome / Yandex Browser / Microsoft Edge (последняя стабильная): Лучший баланс скорости, поддержки PWA, синхронизации закладок/истории и стабильности WebGL.
- Firefox (последняя / ESR 115+): Отличный выбор, если важна приватность и открытый код. Готовьтесь к отсутствию PWA на десктопе.
- Safari (macOS Sonoma / Ventura, iOS 17+): Нативный, самый энергоэффективный вариант на экосистеме Apple.
Для корпоративной среды (Администраторам IT):
- Развертывайте MSI-инсталляторы Chrome/Edge/Firefox ESR с политиками автообновления.
- Добавьте
2gis;ruв Allowlist для куки, JavaScript, Pop-ups, Geolocation, Clipboard API через Group Policy (GPO) / MDM / Intune. - Если есть старые терминалы (Thin Clients) на Windows 7/8.1/Linux старых дистрибутивов — ставьте десктопный клиент 2ГИС (версию под соответствующую ОС), не пытайтесь завести веб-версию в старом браузере.
- Настройте кэширующий прокси (Squid/Nginx) для тайлов карты (
tiles.2gis.ru,maps.api.2gis.ru), чтобы экономить внешний трафик — тайлы статичны и хорошо кэшируются.
Для веб-разработчиков (интеграция виджетов 2ГИС / MapGL API):
- Тестируйте виджеты в Safari (iOS/macOS) обязательно — WebKit имеет уникальные баги с тач-событиями, скроллом внутри iframe и рендерингом Canvas/WebGL.
- Проверяйте Content Security Policy (CSP): для работы MapGL нужны директивы
script-src 'self' 'wasm-unsafe-eval' ...,worker-src blob: ...,connect-src wss: https: .... Без'wasm-unsafe-eval'(или хешей/нонсов для wasm) карта не запустится в современных браузерах. - Используйте
loading="lazy"для iframe-виджетов карты, чтобы не блокировать основной контент страницы.
Сервис 2ГИС — это передний край веб-технологий в картографии. Команда активно использует WebGL 2, WebAssembly, Service Workers, OffscreenCanvas и современный CSS. Это дает невероятную плавность и функциональность (3D, офлайн, PWA), но ставит жесткие требования к среде выполнения.
Главные выводы:
- Современные браузеры (Chrome, Edge, Firefox 115+, Safari 16+, Yandex) — полная поддержка 100% функционала.
- Браузеры 3-4 летней давности — работают, но без офлайна, PWA, 3D, с просадками производительности.
- Internet Explorer, старый Edge, Safari < 14 — веб-версия неработоспособна или критически сломана.
- Универсальное решение для любых проблем с браузером, Десктопное приложение 2ГИС. Оно автономно, быстро и не зависит от версии системного браузера.
Поддерживайте свои браузеры в актуальном состоянии — это не только про безопасность, но и про комфорт работы с такими сервисами, как 2ГИС.
Статья актуальна на конец 2024 – начало 2025 года. Технологический стек 2ГИС и требования браузеров могут меняться. Всегда проверяйте официальную документацию api.2gis.ru и страницу поддержки.