Задача комівояжера /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
запиту. Індексація з нуля.