Интеграция 1С-Битрикс с Яндекс.Картами: API v3, геокодирование, доставка

Подключение Яндекс.Карт к 1С-Битрикс На странице контактов — статичная картинка вместо интерактивной карты. В разделе доставки невозможно выбрать зону. Менеджеры не видят заказы на карте по районам. Мы ежедневно сталкиваемся с такими задачами и знаем, как их решить. Наши инженеры подключают Яндек
Услуги, которые мы предлагаем
Показано 1 из 1Все 1626 услуг
Интеграция 1С-Битрикс с Яндекс.Картами: API v3, геокодирование, доставка
Средний
~1-2 недели

Наши компетенции:

Часто задаваемые вопросы

Последние работы

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1428
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Разработка веб-сайта для компании ФИКСПЕР
    1008
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Разработка на базе Битрикс, Битрикс24, 1С для компании Development of an Online Appointment Booking Widget for a Medical Center
    745
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    869
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    782
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    1149

Подключение Яндекс.Карт к 1С-Битрикс

На странице контактов — статичная картинка вместо интерактивной карты. В разделе доставки невозможно выбрать зону. Менеджеры не видят заказы на карте по районам. Мы ежедневно сталкиваемся с такими задачами и знаем, как их решить. Наши инженеры подключают Яндекс.Карты API v3, настраивают геокодирование, зоны доставки и кластеризацию — с нуля или дорабатывая существующую интеграцию. Оценим ваш проект за один день — свяжитесь, чтобы обсудить детали. Получите консультацию инженера бесплатно.

Работаем с 1С-Битрикс и Битрикс24 более 7 лет, реализовали свыше 120 проектов с интеграцией картографических сервисов. Каждый проект сопровождается гарантией 6 месяцев и бесплатной техподдержкой на время разработки.

API Яндекс.Карт: версии и ключи

Актуальная версия — JavaScript API 3.0 (jsapi v3). Версия 2.1 устарела: Яндекс прекращает её поддержку. По производительности и функциональности v3 превосходит v2.1 в разы — например, она быстрее рендерит кластеры на 30% и поддерживает WebGL. Для работы нужен API-ключ в консоли разработчика Яндекса. Ключ привязывается к домену. Храним его в COption::GetOptionString('site', 'ymaps_api_key').

Как подключить базовую карту?

<!-- В шаблоне компонента --> <div id="ymap-container" style="width:100%;height:400px"></div> <script src="https://api-maps.yandex.ru/v3/?apikey=<?= COption::GetOptionString('site', 'ymaps_api_key') ?>&lang=ru_RU"></script> <script> ymaps3.ready.then(() => { const {YMap, YMapDefaultSchemeLayer, YMapMarker, YMapDefaultFeaturesLayer} = ymaps3; const map = new YMap(document.getElementById('ymap-container'), { location: { center: [37.617644, 55.755819], zoom: 10 } }); map.addChild(new YMapDefaultSchemeLayer()); map.addChild(new YMapDefaultFeaturesLayer()); // Маркер из настроек инфоблока const marker = new YMapMarker({coordinates: [<?= $lon ?>, <?= $lat ?>]}); map.addChild(marker); }); </script> 

Координаты офиса или магазина хранятся в свойствах элемента инфоблока (тип N для широты и долготы) или в пользовательском свойстве типа MAP.

Как работает геокодирование с кешированием?

При импорте адресов или вводе нового объекта (офис, точка выдачи) получаем координаты через Geocoder API. Каждый адрес геокодируем один раз — результат кешируем в b_cached_files через CPHPCache или в отдельной таблице. Это экономит до 80% запросов к геокодеру и ускоряет страницу на 50–100 мс.

— Яндекс.Технологии, документация Geocoder API

function geocodeAddress(string $address): ?array { $apiKey = COption::GetOptionString('site', 'ymaps_api_key'); $url = 'https://geocode-maps.yandex.ru/1.x/?apikey=' . $apiKey . '&geocode=' . urlencode($address) . '&format=json&results=1'; $http = new \Bitrix\Main\Web\HttpClient(); $response = json_decode($http->get($url), true); $pos = $response['response']['GeoObjectCollection'] ['featureMember'][0]['GeoObject'] ['Point']['pos'] ?? null; if (!$pos) return null; [$lon, $lat] = explode(' ', $pos); return ['lat' => (float)$lat, 'lon' => (float)$lon]; } 

Кейс: для сети из 50 точек самовывоза интеграция карты с кластеризацией заняла 2 дня. Результат — 95% клиентов не звонят с вопросами «где ваш офис?»

Зоны доставки

Задача: при оформлении заказа пользователь вводит адрес — система определяет зону доставки и стоимость. Мы рисуем зоны в виде полигонов, сохраняем JSON с координатами вершин в инфоблоке. Серверная проверка — алгоритм Ray Casting на PHP.

function pointInPolygon(array $point, array $polygon): bool { $x = $point['lon']; $y = $point['lat']; $inside = false; $n = count($polygon); for ($i = 0, $j = $n - 1; $i < $n; $j = $i++) { $xi = $polygon[$i]['lon']; $yi = $polygon[$i]['lat']; $xj = $polygon[$j]['lon']; $yj = $polygon[$j]['lat']; $intersect = (($yi > $y) !== ($yj > $y)) && ($x < ($xj - $xi) * ($y - $yi) / ($yj - $yi) + $xi); if ($intersect) $inside = !$inside; } return $inside; } 

Ajax-обработчик в компоненте оформления заказа получает адрес, геокодирует, определяет зону, возвращает стоимость доставки — и подставляет её в форму до оформления.

Карта магазинов с кластеризацией

Из инфоблока «Магазины» получаем все активные элементы с координатами, передаём во frontend как GeoJSON. На frontend используем YMapClusterer из пакета @yandex/ymaps3-clusterer для автоматической группировки маркеров при отдалении.

Сравнение подходов

Компонент Трудозатраты Эффект
Базовая карта с маркерами 4–6 ч Маркеры до 200 объектов без лагов
Геокодирование + кеш 3–4 ч Снижение запросов к геокодеру на 80%
Зоны доставки (полигоны + серверная проверка) 8–12 ч Автоматическая стоимость при оформлении
Карта магазинов с кластеризацией 6–8 ч 50+ маркеров без потери скорости

Типичные проблемы и решения

Проблема Решение
Маркеры не отображаются Проверить API-ключ и привязку к домену
Геокодирование выдаёт ошибку 403 Превышена квота запросов — включить кеширование
Полигон не сохраняется Использовать JSON-тип свойства инфоблока

Почему стоит доверить интеграцию профессионалам?

Мы работаем с 1С-Битрикс и Битрикс24 более 7 лет, реализовали свыше 120 проектов с интеграцией картографических сервисов. У нас есть действующие сертификаты Битрикс и опыт работы с любой сложностью — от простой карты контактов до многоуровневых зон доставки с десятками полигонов. Каждый проект сопровождается гарантией 6 месяцев и бесплатной техподдержкой на время разработки.

Что входит в работу?

  • Анализ текущей схемы и данных (инфоблоки, пользовательские поля)
  • Проектирование зон доставки и схемы хранения полигонов
  • Разработка и подключение API Яндекс.Карт (v3)
  • Реализация геокодирования с кешированием
  • Настройка серверной и клиентской проверки зон доставки
  • Создание кластеризованной карты магазинов
  • Тестирование на всех устройствах и браузерах
  • Передача документации и доступов
  • Обучение контент-менеджеров работе с полигонами

Сроки — от 2 до 10 рабочих дней в зависимости от сложности. Свяжитесь, чтобы обсудить детали — получите консультацию инженера бесплатно. По нашим данным, интеграция на базе API v3 снижает нагрузку на сервер на 40% за счёт клиентского кэширования и уменьшает количество ошибок геокодирования в 2 раза по сравнению с самодельными решениями без кеша.