QR-код геолокации

QR-код, содержащий geo: URI по стандарту RFC 5870 — передаёт координаты широта/долгота и при сканировании открывает Яндекс.Карты, 2ГИС или Google Maps с готовой точкой без ввода адреса вручную.

QR-код геолокации — это QR-код, тело которого содержит geo: URI согласно RFC 5870 (опубликован IETF в 2010 году). Базовый формат строки — geo:55.7558,37.6173, где первый параметр — широта (latitude), второй — долгота (longitude) в градусах WGS 84. Допускается третий параметр высоты над уровнем моря: geo:55.7558,37.6173,151.0. Опциональный параметр u= задаёт неопределённость позиции в метрах: geo:55.7558,37.6173;u=20. Стандарт требует записывать координаты в десятичных градусах со знаком (отрицательные — южная широта и западная долгота).

Ключевое отличие geo: URI от «универсальной ссылки на карты» — он не привязан к конкретному сервису. Строка https://yandex.ru/maps/?pt=37.6173,55.7558 всегда откроет Яндекс.Карты, даже если пользователь предпочитает 2ГИС. Схема geo: передаёт координаты операционной системе, которая делегирует обработку зарегистрированному приложению карт по выбору пользователя. Точность позиционирования целиком определяется числом десятичных знаков: шесть знаков после запятой дают погрешность ~0,11 м, два знака — ~1,1 км. Для адреса офиса достаточно четырёх знаков (~11 м). Весь URI для большинства практических точек умещается в 30–40 символов, что даёт небольшую и устойчивую матрицу QR-кода.

Поведение в разных платформах

  • iOS (14+) — при первом открытии geo: URI система предлагает выбрать приложение: встроенные Карты Apple, Google Maps, Яндекс.Карты или любое другое, зарегистрировавшее обработчик схемы. Последующие открытия используют приложение по умолчанию или снова спрашивают — зависит от версии iOS.
  • Android — ОС передаёт Intent с action android.intent.action.VIEW и data geo:lat,lon приложению карт, установленному по умолчанию. Если пользователь не назначил приложение по умолчанию, появится диалог выбора.
  • Веб-браузер без нативного обработчика (Chrome на ПК, Firefox) — браузер не знает, как открыть geo: URI, и либо игнорирует его, либо показывает диалог поиска приложения. Для таких сценариев надёжнее закодировать deeplink на конкретный картографический сервис или добавить JavaScript-обёртку, которая подставляет универсальную ссылку как фолбэк.
  • Если приложений карт не установлено — на Android можно через deeplink передать запрос в браузер (схема https://maps.google.com/maps?q=lat,lon). На iOS запасной вариант — Apple Maps, которые предустановлены всегда.

Сценарии офлайн-бизнеса

Геолокационный QR-код особенно ценен там, где адрес нужно передать без слов. Визитка с QR-кодом вместо текстового адреса позволяет клиенту мгновенно проложить маршрут — достаточно одного сканирования. Наклейка на двери офиса или шоурума помогает опоздавшему клиенту убедиться, что он стоит у нужного входа. Билборд для туристов в историческом центре: один скан — и точка на карте с маршрутом от текущей геопозиции. Медицинская клиника может напечатать QR-код с координатами парковки на талончике пациента — это снижает нагрузку на ресепшн и убирает вопросы «как проехать». Создать QR с геолокацией можно за несколько секунд: достаточно вставить координаты или найти точку на карте в конструкторе, и код готов к печати.

Для событий — фестивалей, ярмарок, временных точек продаж — geo: QR-код на флаере точнее любого адреса: мероприятие может располагаться на парковке торгового центра или в парке, где уличного адреса нет. Стоит также учитывать аналитику QR-сканов: статический геолокационный код не передаёт данные через сервер, поэтому для отслеживания эффективности флаеров и точек размещения лучше использовать динамический QR-код с редиректом на страницу-карту.

Частые вопросы

Чем geo: URI отличается от ссылки на Яндекс.Карты?

Ссылка вида https://yandex.ru/maps/... всегда открывает конкретный сервис Яндекса. Схема geo: по RFC 5870 передаёт координаты операционной системе, которая выбирает установленное приложение карт по предпочтению пользователя — Яндекс.Карты, 2ГИС, Google Maps, Apple Maps или другое. Это делает geo: URI универсальным, но зависимым от поддержки схемы в конкретной ОС и приложении.

Что если у пользователя нет приложений карт?

На iOS Apple Maps предустановлены — фолбэк всегда есть. На Android при отсутствии приложения-обработчика можно задать резервную ссылку через JavaScript-обёртку или закодировать прямую HTTPS-ссылку на картографический сервис вместо geo: URI. Для максимальной совместимости используйте динамический QR с переадресацией: сервер определяет платформу и отдаёт нужную ссылку.

Сколько знаков после запятой нужно в координатах?

Для адреса офиса или магазина достаточно 4–5 знаков после запятой (точность ~1–11 м). Шесть знаков (~0,11 м) избыточны для навигации и делают URI длиннее без практической пользы. Координаты с двумя знаками (~1,1 км) подходят только для обозначения района города, но не конкретного здания. Координаты можно скопировать прямо из Яндекс.Карт или Google Maps — они обычно дают 6–7 знаков; смело обрезайте до 5.