Задача комівояжера /tsp

Визначення порядку об'їзду пунктів.

Схема запиту

https://api.visicom.ua/data-api/5.0/core/tsp.json?[waypoints][&round_trip][&locks][&mode][&key][&callback]

Параметри запиту

ПараметрОпис
waypoints|wМасив точок для розрахунку. Максимум 50. Перша зафіксована як старт. Точка описується ідентифікатором об'єкта, або широтою і довготою у вигляді lng,lat. Символ | — роздільник точок в списку.
round_trip|rtБулівське значення, чи повертатися в першу точку. якщо false, то за фінішну точку приймається остання точка в масиві waypoints. Значення за замовчуванням true.
locks|lМасив координат блокувань проїздів. Блокування описується широтою і довготою у вигляді lng,lat. Для автомобільних проїздів забороняє прокладку маршруту в місці блокування. Має сенс тільки для режиму розрахунку driving і driving-shortest. Символ | — роздільник точок в списку.
mode|mРежим розрахунку маршруту. Може приймати значення driving (оптимальний маршрут по автомобільним дорогам), driving-shortest (найкоротший маршрут по автомобільним дорогам), direct (відстань по прямій). За замовчуванням розрахунок відбувається в режимі driving.
keyКлюч авторизації.
callbackІм'я функції для JSONP запиту до сервера.

Приклади запиту

https://api.visicom.ua/data-api/5.0/core/tsp.json?waypoints=28.71483,50.29734|34.46411,44.89917|31.27979,51.50313|37.76207,47.98739|24.01646,49.8392|32.41791,50.90552&key=YOUR_API_KEY
https://api.visicom.ua/data-api/5.0/core/tsp.json?waypoints=31.6032,48.61124|34.46411,44.89917|31.27979,51.50313|37.76207,47.98739|24.01646,49.8392|32.41791,50.90552&round_trip=false&key=YOUR_API_KEY

Відповідь на запит

{"list": [
    {"index": 0},
    {"index": 1},
    {"index": 3},
    {"index": 4},
    {"index": 2},
    {"index": 5}
]}

Упорядкований список точок об'їзду. Повертається JSON-об'єкт з одним полем list, в якому знаходиться масив індексів точок в поле waypoints запиту. Індексація з нуля.