Расчет маршрута /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 (раcстояние по прямой). По умолчанию расчет происходит в режиме 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
- длина маршрута в метрах
Если не удалось рассчитать маршрут, то возвращается пустой объект {}
.
Демо
Вы можете перемещать точки.