Затраченное время 6 часов 47 минут


Курьер нашего клиента в Москве и Санкт-Петербурге доставляет заказы бесплатно в пределах кольцевых автодорог (МКАД в Москве и КАД в Санкт-Петербурге). Доставка считалась в зависимости от конкретного района города, однако кольцевые автодороги не являются границами этих районов, что приводило к ошибкам, которые выливались в недовольство клиентов и финансовые потери на доставке за свой счёт.

Варианты решений

Мы начали с поиска решений в API Яндекс и Google карт — но в них оказалось невозможно посчитать расстояние от границы автодорог и вычислить находится ли точка внутри кольцевой автодороги или снаружи.

Географические сервисы типа Дадаты тоже не могли нам в этом помочь.

Однако, мы не первые столкнулись с подобной проблемой, и в блоге Клуба API Яндекс карт было описано хорошее решение для проблемы МКАДа.

Особенности реализации

Мы реализовали предложенное решение для МКАДа — использовали предложенные координаты для формирования фигуры-полигона, границами которого является МКАД. А посчитать, находится ли адрес внутри этого полигона или снаружи — дело техники.

Из статьи выше использовали только координаты. Код написали свой, ибо API Яндекс карт с того времени сильно изменился.

А вот с КАД в Санкт-Петербурге пришлось поработать немного больше: либо до нас никто не решал с ним подобную проблему, либо просто не выкладывали в открытый доступ координаты для полигона.

Выделение_279.png

Но задача была понятной и через пару дней мы выложили на тестовом сервере и обновление для Санкт-Петербурга. Вот координаты полигона:

Развернуть координаты

Эффект от проведенных работ

С момента решения этой задачи прошло больше года, и за весь этот период не было ни одной жалобы от клиента интернет-магазина на неправильный расчет стоимости доставки в Москве или Санкт-Петербурге.

Затраты на разработку также окупились многократно, ибо клиент перестал оплачивать доставку заказов за свой счет в спорных ситуациях.



Есть вопросы?