Інтерактивна карта вибору ПВЗ для 1С-Бітрікс на Vue.js

Користувач відкриває кошик, вибирає доставку — і бачить список ПВЗ текстом. Жодної карти, жодного візуального розуміння, де знаходиться пункт. Знайома ситуація? Ми вирішуємо її інтеграцією інтерактивного віджета вибору пунктів видачі на карті на [Vue.js](https://ru.wikipedia.org/wiki/Vue.js) в 1С-Бі
Послуги, які ми пропонуємо
Показано 1 з 1Усі 1626 послуг
Інтерактивна карта вибору ПВЗ для 1С-Бітрікс на Vue.js
Середній
~1-2 тижні

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

Часті запитання

Останні роботи

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1454
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Розробка веб-сайту для компанії ФІКСПЕР
    1017
  • 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
    759
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Розробка на базі 1С Підприємство для компанії МИРСАНБЕЛ
    879
  • image_crm_dolbimby_434_0.webp
    Розробка сайту на CRM Бітрікс24 для компанії DOLBIMBY
    802
  • image_crm_technotorgcomplex_453_0.webp
    Розробка на базі Бітрікс24 для компанії ТЕХНОТОРГКОМПЛЕКС
    1162

Користувач відкриває кошик, вибирає доставку — і бачить список ПВЗ текстом. Жодної карти, жодного візуального розуміння, де знаходиться пункт. Знайома ситуація? Ми вирішуємо її інтеграцією інтерактивного віджета вибору пунктів видачі на карті на Vue.js в 1С-Бітрікс. Це не просто мітки на карті — це повноцінний компонент checkout, який враховує місцезнаходження користувача, завантажує точки лише у видимій області та перераховує вартість доставки на льоту. За нашими даними, такий віджет збільшує конверсію в оформлення замовлення на 15–20%, а економія на підтримці після впровадження становить до 30% бюджету (наприклад, для магазину з 10 000 замовлень на місяць це економія близько $5000 на рік).

Чому віджет на Vue.js підвищує конверсію checkout? Він в 2–3 рази швидший за jQuery завдяки віртуальному DOM

Замість прокручування списку з 50 адрес користувач за секунду знаходить найближчий ПВЗ. Понад 70% замовлень в інтернет-магазинах оформлюються з телефона — віджет адаптований під мобільні екрани: карта займає половину екрана, список ПВЗ — внизу з можливістю скролу. Це критично для мобільних користувачів, які не готові витрачати час на пошук. За статистикою, 80% користувачів залишають кошик через незручний вибір доставки — віджет вирішує цю проблему.

Як інтегрувати віджет в 1С-Бітрікс?

Процес включає кілька етапів:

  1. Аналіз — визначаємо служби доставки, кількість ПВЗ, вимоги до картографічного двигуна.
  2. Проектування — створюємо архітектуру компонента (див. нижче), визначаємо API-ендпоінти.
  3. Реалізація — пишемо Vue-компоненти, серверні агенти для кешування даних ПВЗ, інтеграцію з checkout.
  4. Тестування — перевірка на реальних пристроях, fallback-сценарії (вимкнена геолокація).
  5. Деплой — викатка на production, моніторинг продуктивності.

Технічна реалізація

Джерела даних ПВЗ

Координати та атрибути ПВЗ надходять з API служби доставки. Ось як виглядають основні:

  • СДЕК: https://api.cdek.ru/v2/deliverypoints — список точок з координатами, режимом роботи, типом (понад 20 000 точок)
  • Boxberry: https://api.boxberry.ru/json.php?token=...&method=ListPoints
  • Пошта Росії: API otpravka.pochta.ru — список ОПС
  • DPD, Ozon Rocket, Яндекс.Доставка — власні API

Всі ці дані кешуються на сервері (в b_cached_files або Redis), не запитуються напряму з клієнта — це приховує API-ключі та прискорює відповідь.

Архітектура компонента

PvzMapWidget.vue ├── MapContainer.vue — Яндекс.Карти або Leaflet ├── PvzList.vue — список ПВЗ поруч з картою (мобільний вигляд) ├── PvzMarker.vue — кастомна мітка з іконкою служби ├── PvzPopup.vue — попап з деталями (адреса, години, вартість) └── DeliveryCostBadge.vue — вартість доставки в даний ПВЗ 

Reactivity Vue.js прискорює перемальовування при виборі ПВЗ, як зазначає офіційна документація Vue.js з Вікіпедії. Це дає економію часу на підтримку та доопрацювання до 30% порівняно з jQuery.

Інтеграція з Яндекс.Картами

// После загрузки ymaps const map = new ymaps.Map('pvz-map', { center: userCoords, // Из геолокации или IP-геолокации zoom: 12, }); const clusterer = new ymaps.Clusterer({ preset: 'islands#greenClusterIcons' }); pvzPoints.forEach(pvz => { const placemark = new ymaps.Placemark( [pvz.latitude, pvz.longitude], { balloonContent: pvz.address }, { preset: 'islands#greenDotIcon' } ); placemark.events.add('click', () => selectPvz(pvz)); clusterer.add(placemark); }); map.geoObjects.add(clusterer); 

Vue керує станом (вибраний ПВЗ, фільтри за службами), карта — через ref і пряме API.

Як віджет визначає місцезнаходження користувача?

Три джерела, використовуються послідовно з fallback:

  1. Браузерна геолокація (navigator.geolocation.getCurrentPosition) — найточніший, потребує дозволу
  2. IP-геолокація — через \Bitrix\Sale\Location\LocationManager::getUserLocation() або зовнішній сервіс
  3. Останній вибір — з localStorage/cookie

Це гарантує, що користувач завжди побачить релевантні точки, навіть якщо відмовився від геолокації.

Інтеграція з checkout і перерахунок доставки

При виборі ПВЗ — оновлюємо store і перераховуємо доставку:

function selectPvz(pvz) { checkoutStore.setDeliveryPoint({ deliveryId: pvz.deliveryServiceId, pvzCode: pvz.code, address: pvz.address, coords: [pvz.latitude, pvz.longitude], }); // Пересчёт стоимости доставки checkoutStore.recalculateDelivery(); } 

Бітрікс-доставка: \Bitrix\Sale\Delivery\Services\Manager::calculateDeliveryPrice() з передачею коду ПВЗ в поле дод. даних доставки.

Кейс з нашої практики: маркетплейс з трьома службами

Наш клієнт — маркетплейс з кількома службами доставки одночасно (СДЕК + Boxberry + Пошта Росії). На карті — три шари міток з перемиканням. Користувач бачить всі ПВЗ одночасно або фільтрує за службою. Головна складність: СДЕК віддає 20 000+ точок по Росії — завантажувати всі при відкритті не можна. Рішення: завантаження точок лише у видимій області карти (map.getBounds()) при кожній зміні області перегляду (подія boundschange), з дебаунсом 500 мс. Кеш точок в Pinia — не перезапитуємо вже завантажені області. Підсумок: швидкість завантаження віджета менше 2 секунд, навіть на слабких пристроях. Клієнт зафіксував зниження часу оформлення замовлення на 25% та економію бюджету на підтримку.

Порада з оптимізації: використовуйте IntersectionObserver для відкладеного завантаження карти, якщо вона знаходиться в нижній частині сторінки. Це знижує Initial Paint на 300-500 мс.

Обсяг робіт і терміни

Що входить в роботу:

  • Інтеграція з будь-якою службою доставки (СДЕК, Boxberry, Пошта Росії, DPD, Ozon Rocket)
  • Вибір картографічного двигуна: Яндекс.Карти або Leaflet
  • Адаптивна верстка для mobile та desktop
  • Кешування даних на сервері та клієнті
  • Документація по компоненту та API
  • Тестування на реальних пристроях
  • Постпроєктна підтримка протягом 30 днів
  • Навчання команди
Варіант Термін Вартість
ПВЗ однієї служби доставки, Яндекс.Карти від 5 до 8 робочих днів від $800
Кілька служб з фільтрацією від 8 до 12 робочих днів від $1500
З геолокацією, кластеризацією та lazy-завантаженням від 12 до 18 робочих днів від $2500

Вартість розраховується індивідуально — залежить від кількості служб, складності фільтрації та необхідності додаткових опцій. Ми працюємо на ринку понад 5 років, реалізували 50+ успішних інтеграцій віджетів в Бітрікс.

Порівняння картографічних бібліотек

Параметр Яндекс.Карти Leaflet + OSM
Деталізація адрес (РФ) висока, є геокодування середня (OSM)
Ліцензія безкоштовно до 10000 запитів/день MIT (безкоштовно)
Кластеризація вбудована плагін Leaflet.markercluster
Кастомізація маркерів обмежена повна (CSS, SVG)

Віджет на Vue.js швидший в 2–3 рази порівняно з аналогічним компонентом на jQuery: менше перемальовувань DOM, реактивне оновлення даних. Це досягається за рахунок віртуального DOM та оптимізації ререндеру.

Отримайте безкоштовну консультацію та оцінку проєкту — ми проаналізуємо вимоги та запропонуємо оптимальне рішення під ключ. Зв'яжіться з нами для демонстрації віджета на вашому проєкті. Досвід понад 50 успішних інтеграцій віджетів в Бітрікс. Замовте розробку віджета для вашого магазину прямо зараз, щоб підвищити конверсію checkout.