YMaps.RouterEditor.IRouteProvider

Внимание

Маршрутизация доступна только в актуальных версиях API.
Как перейти на API 2.1

Интерфейс провайдера маршрутов. Этот интерфейс необходимо реализовать при создании пользовательского провайдера маршрутов.

Конструктор

Имя Описание
YMaps.RouterEditor.IRouteProvider() Интерфейс провайдера маршрутов.

Методы

Имя Возвращает Описание
route(request, successCallback, failureCallback, context) Object Прокладывает маршрут.

Подробное описание конструктора

YMaps.RouterEditor.IRouteProvider()

Интерфейс провайдера маршрутов.

Пример:

// Пример реализации провайдера маршрутов, реализующего интерфейс IRouteProvider
var routeProvider = {
    route: function (request, successCallback, failureCallback, context) {

        request.wayPoints = request.wayPoints || [];
        request.viaPoints = request.viaPoints || [];
        request.options = request.options || {};

        var aborted = false;

        jQuery.ajax({
            url: getURL(request),
            dataType: 'jsonp',
            cache: 1,
            scriptCharset: 'utf-8',
            success: function (result) {

                if (!aborted) {
                    var callback = 'error' in result ? failureCallback : successCallback;
                    result.request = request;
                    callback && callback.call(context, result);
                }

            }
        });

        return {
            abort: function () {
                aborted = true;
            }
        };

    }
};

Подробное описание методов

route

{Object} route(request, successCallback, failureCallback, context)

Прокладывает маршрут.

Пример:

var handler = YMaps.RouterEditor.RouteProviders.get('yandex#router').route(
        { wayPoints: [new YMaps.GeoPoint(37.602777, 55.745144), new YMaps.GeoPoint(37.629188, 55.74112)] },
        function (rr) {
            alert('Получен ответ от маршрутизатора');
        }
    );

// Обработчик ответа от маршрутизатора вызван не будет.
handler.abort();

Параметры:

Имя

Тип

Необязательный

По умолчанию

Описание

request

Object

Запрос к маршрутизатору.

request.wayPoints

Array

Точки маршрута.

request.viaPoints

Array

Индексы промежуточных точек.

request.options

Object

Опции маршрутизатора.

  • boundedBy (YMaps.GeoBounds) - Область на карте, где предположительно находятся искомые объекты. Используется, если точки маршрута заданы почтовыми адресами, а не координатами.
  • strictBounds (Boolean) - Искать только внутри области, заданной опцией boundedBy.
  • avoidTrafficJams (Boolean) - true - строить маршрут с учетом пробок, false - без учета пробок.

successCallback

Function

Обработчик успешного построения маршрута. Аргументом передается объект YMaps.RouterEditor.RouterResult

failureCallback

Function

Обработчик ошибок построения маршрута. Аргументом передается объект YMaps.RouterEditor.RouterResult

context

Object

Контекст вызова обработчиков.

Возвращает:

Тип Описание
Object Обработчик с методом abort() для отмены вызова других обработчиков.