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