Розрахунок маршруту /distance

Розрахунок маршруту по двох точках. Є можливість вказати точки, через які має і через які не повинен проходити маршрут.

Схема запиту

https://api.visicom.ua/data-api/5.0/core/distance.json?[origin][&destination][&waypoints][&locks][&mode][&accuracy][&key][&callback]

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

ПараметрОпис
origin|oСтартова точка. Ідентифікатор об'єкта або широта і довгота у вигляді lng,lat. Також можна задати геометрію в форматі WKT з кількістю вершин не більше 250.
destination|dФінішна точка. Ідентифікатор об'єкта або широта і довгота у вигляді lng,lat. Також можна задати геометрію в форматі WKT з кількістю вершин не більше 250.
waypoints|wСписок проміжних точок (не більше 25). Точка описується ідентифікатором об'єкта або широтою і довготою у вигляді lng,lat або в форматі WKT. Символ | — роздільник точок в списку.
locks|lМасив координат блокувань проїздів. Блокування описується широтою і довготою у вигляді lng,lat. Для автомобільних проїздів забороняє прокладку маршруту в місці блокування. Має сенс тільки для режиму розрахунку driving та driving-shortest. Символ | - роздільник точок в списку.
mode|mРежим розрахунку маршруту. Може приймати значення driving (оптимальний маршрут по автомобільним дорогам), driving-shortest (найкоротший маршрут по автомобільним дорогам), direct (відстань по прямій). За замовчуванням розрахунок відбувається в режимі driving.
geometry|gПараметр вказує, чи повертати у відповіді геометрію маршруту. Може приймати значення no (не повертати), path (повертати геометрію маршруту між двома точками як LineString). За замовчуванням значення no - геометрія не повертається.
accuracy|aГенералізація геометрії маршруту в метрах. За замовчуванням приймається 10 м.
keyКлюч авторизації.
callbackІм'я функції для JSONP запиту до сервера.

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

https://api.visicom.ua/data-api/5.0/core/distance.json?origin=30.42612,50.45111&destination=30.44946,50.45682&key=YOUR_API_KEY
https://api.visicom.ua/data-api/5.0/core/distance.json?origin=POIA1KIGKN&destination=30.52239,50.44777&waypoints=30.54173,50.44497&geometry=path&key=YOUR_API_KEY

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

Структура відповіді на запит distance залежить від значення параметру geometry.

geometry = no

{
    "distance": 1234
}

Об'єкт з одним полем distance — довжина маршруту в метрах.

geometry = path

{
    "type": "Feature",
    "properties": {
        "distance": 3038,
        "origin": {
            "type": "Point",
            "coordinates": [
                30.42615,
                50.45119
            ]
        },
        "destination": {
            "type": "Point",
            "coordinates": [
                30.44679,
                50.45716
            ]
        }
    },
    "geometry": {
        "type": "LineString",
        "coordinates": [
            [
                30.42615,
                50.45119
            ],
            [
                30.42749,
                50.45097
            ],
            [
                30.42674,
                50.44899
            ],
            [
                30.43016,
                50.44846
            ],
            [
                30.43318,
                50.44802
            ],
            [
                30.43347,
                50.44879
            ],
            [
                30.4339,
                50.44997
            ],
            [
                30.43456,
                50.45171
            ],
            [
                30.43622,
                50.45597
            ],
            [
                30.44134,
                50.45515
            ],
            [
                30.4464,
                50.45433
            ],
            [
                30.44656,
                50.45423
            ],
            [
                30.44661,
                50.45415
            ],
            [
                30.44663,
                50.45409
            ],
            [
                30.44657,
                50.4539
            ],
            [
                30.44643,
                50.45351
            ],
            [
                30.44635,
                50.45342
            ],
            [
                30.44625,
                50.45338
            ],
            [
                30.44614,
                50.45335
            ],
            [
                30.44591,
                50.45333
            ],
            [
                30.44579,
                50.45334
            ],
            [
                30.44569,
                50.45338
            ],
            [
                30.44562,
                50.45344
            ],
            [
                30.44553,
                50.45365
            ],
            [
                30.44609,
                50.4551
            ],
            [
                30.4463,
                50.4557
            ],
            [
                30.44651,
                50.45627
            ],
            [
                30.44679,
                50.45716
            ]
        ]
    },
    "bbox": [
        30.42615,
        50.44802,
        30.44679,
        50.45716
    ]
}

У відповіді повертається GeoJSON-об'єкти типу Feature. Поле geometry містить об'єкт типу LineString. Поле properties містить JSON-об'єкт з полями:

  • origin тип Point — стартова точка
  • destination тип Point — фінішна точка
  • distance - довжина маршруту в метрах

Якщо не вдалося розрахувати маршрут, то повертається порожній об'єкт {}.

Демо

Ви можете переміщати точки.