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() для отмены вызова других обработчиков.