Google Maps API становится платным и меняет условия: как перевести логистику и карты в 1С на альтернативные решения

Программист 1С v8.3 (Управляемые формы) Управленческий учет IT и автоматизация бизнеса
← На главную

Современные бизнес-процессы в 1С, особенно в блоках управления торговлей (УТ), ERP или специализированных логистических модулях, тесно завязаны на картографические сервисы. Долгое время Google Maps Platform оставался стандартом де-факто благодаря своему щедрому ежемесячному кредиту. Однако ситуация кардинально меняется. Разберем, какие именно изменения нас ждут, почему старые схемы интеграции перестанут быть выгодными и на какие инструменты стоит переходить разработчикам 1С уже сегодня.

Анализируем изменения в политике Google Maps с 1 марта 2025 года

Выясним причину массового беспокойства разработчиков. До текущего момента Google предоставлял единый кредит в размере 200 долларов США, который покрывал практически любые запросы (карты, маршруты, места) для небольших и средних проектов. С 1 марта 2025 года эта модель упраздняется. Вместо единого кошелька вводятся категории Essentials, Pro и Enterprise.

Проанализируем, как это отразится на типичных задачах 1С:

  1. Отображение карт (Essentials): Лимиты остаются достаточно лояльными — около 28 500 загрузок в месяц. Для большинства внутренних учетных систем этого достаточно.
  2. Построение маршрутов (Routes/Pro): Здесь ситуация критическая. Бесплатный порог снижается до 2 000 – 3 000 запросов. Если ваша 1С ежедневно рассчитывает маршруты для десятка курьеров, этот лимит будет исчерпан за несколько дней.
  3. Поиск адресов и геокодинг (Places/Pro): Аналогично маршрутам, лимиты становятся жесткими, что делает автоматическое заполнение координат по адресу в карточке контрагента потенциально дорогой операцией.

Учитывая сложности с оплатой зарубежных сервисов и новые тарифы, рассмотрим альтернативные пути развития инфраструктуры внутри 1С.

Переход на OpenStreetMap (OSM) и self-hosted решения

Наиболее радикальный и надежный способ — это развертывание собственного сервера маршрутизации. Это позволяет полностью избавиться от зависимости от внешних API и ежемесячных платежей. Рассмотрим подробнее связку PostgreSQL + OSM + OSRM.

OpenStreetMap (OSM) — это бесплатная карта мира, создаваемая сообществом. Для работы в 1С мы можем не просто подключать внешние тайлы (картинки), но и загрузить всю базу данных дорог РФ в свою инфраструктуру.

Разберем алгоритм действий:

  1. Установим сервер PostgreSQL с расширением PostGIS.
  2. Загрузим данные OSM (дампы городов или всей страны).
  3. Развернем движок OSRM (Open Source Routing Machine). Это высокопроизводительный инструмент для поиска кратчайших путей на графе дорог.

Проанализируем преимущества такого подхода для 1С: интеграция происходит через обычные HTTP-запросы к вашему локальному серверу. Пример формирования запроса из кода 1С может выглядеть следующим образом:


Соединение = Новый HTTPСоединение("ваш_сервер_osrm", 5000);
Запрос = Новый HTTPЗапрос("/route/v1/driving/" + КоординатыТочек + "?overview=full&geometries=geojson");
Ответ = Соединение.Получить(Запрос);

Если Ответ.КодСостояния = 200 Тогда
    ЧтениеJSON = Новый ЧтениеJSON;
    ЧтениеJSON.УстановитьСтроку(Ответ.ПолучитьТелоКакСтроку());
    ДанныеМаршрута = ПрочитатьJSON(ЧтениеJSON);
    // Обработка координат и дистанции
КонецЕсли;

Продвинутые движки маршрутизации: GraphHopper и Valhalla

Если стандартных возможностей OSRM недостаточно (например, требуется учет габаритов транспортных средств, веса груза или специфических ограничений для фур), проанализируем более гибкие движки.

GraphHopper — отлично подходит для интеграции с 1С:УАТ. Он потребляет меньше оперативной памяти и позволяет на лету менять профили машин. Рассмотрим ситуацию: нам нужно построить маршрут для грузовика, которому запрещен въезд в центр города. GraphHopper позволяет передать параметры профиля в запросе, что в Google Maps API стоило бы значительно дороже.

Valhalla — это выбор для высоконагруженных систем. Главная особенность заключается в поддержке динамического изменения весов. Если в вашу 1С поступают данные о перекрытиях дорог, Valhalla позволяет учесть их без полной пересборки графа дорог, что экономит часы работы сервера.

Российские альтернативы: Yandex, 2GIS и RuMap

Не всегда есть возможность поддерживать собственный сервер. В таких случаях рассмотрим отечественные API. Важно помнить, что бесплатное использование API Яндекс.Карт в коммерческих целях (внутри закрытых систем 1С) официально запрещено лицензией.

Проанализируем особенности каждого сервиса:

Техническая реализация отображения карт в 1С через Leaflet

Независимо от выбранного поставщика данных (OSM, Mapbox или свой сервер), для отображения карты в управляемой форме 1С лучше всего использовать JavaScript-библиотеку Leaflet. Она легкая, быстрая и стабильно работает в ПолеHTMLДокумента.

Разберем по шагам, как вывести карту OSM в 1С:

  1. Создадим макет с типом "Текст" (HTML-шаблон).
  2. В коде 1С при создании формы инициализируем HTML.
  3. Используем ПоказатьКарту() для отрисовки объектов.

Пример упрощенного шаблона для вывода карты:


<html>
<head>
    <link rel="stylesheet" href="https://unpkg.com/leaflet/dist/leaflet.css" />
    <script src="https://unpkg.com/leaflet/dist/leaflet.js"></script>
</head>
<body>
    <div id="map" style="width: 100%; height: 100vh;"></div>
    <script>
        var map = L.map('map').setView([55.75, 37.61], 13);
        L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png').addTo(map);
    </script>
</body>
</html>

В 1С мы можем передавать данные в эту карту через механизм ЭтаФорма.Элементы.КартаHTML.Документ.parentWindow или используя современные методы взаимодействия с Полем HTML документа в платформе 8.3. Важный момент: использование векторных тайлов (через MapLibre GL JS) вместо растровых позволит сделать карту в 1С более плавной и интерактивной, что критично при отображении сотен точек заказов на одном экране.

Юридические аспекты и чистота данных

Выясним ситуацию с лицензированием OpenStreetMap. Данные распространяются под лицензией ODbL. Это означает, что если вы исправляете ошибку в геометрии дороги на карте внутри своей системы, вы должны вернуть это исправление в сообщество OSM. Однако ваши коммерческие данные (маршруты курьеров, базы клиентов), наложенные поверх этой карты в 1С, остаются вашей интеллектуальной собственностью и не подлежат раскрытию.

Подводя итог, можно сказать: уход от Google Maps API — это не только вынужденная мера из-за стоимости, но и отличный повод повысить автономность вашей системы. Переход на OSRM или GraphHopper дает разработчику 1С полный контроль над логикой построения маршрутов, позволяя учитывать специфику конкретного бизнеса без оглядки на лимиты запросов.

← На главную