Расчет маршрута /distance

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

Схема запроса

https://api.visicom.ua/data-api/4.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/4.0/core/distance.json?origin=30.42612,50.45111&destination=30.44946,50.45682&key=YOUR_API_KEY
https://api.visicom.ua/data-api/4.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 - длина маршрута в метрах

Если не удалось рассчитать маршрут, то возвращается пустой объект {}.

Демо

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