Розрахунок маршруту /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
- довжина маршруту в метрах
Якщо не вдалося розрахувати маршрут, то повертається порожній об'єкт {}
.
Демо
Ви можете переміщати точки.