YMaps.Router
Внимание
Маршрутизация доступна только в актуальных версиях API.
Как перейти на API 2.1
Расширяет YMaps.GeoObjectCollection.
Класс для прокладывания маршрутов на карте.
Конструктор
Имя | Описание |
---|---|
YMaps.Router(wayPoints, viaPoints, options) | Прокладывает маршрут через заданные точки. |
Поля
Имя | Описание |
---|---|
Events | Список событий маршрутизатора. |
Наследуемые поля
События
Имя | Описание |
---|---|
Fault | Событие неудачной загрузки ответа с сервера маршрутизации. |
GeocodeError | Событие неудачного построения маршрута, вследствие ошибки геокодирования. |
Load | Событие успешного получения ответа от сервиса маршрутизации. |
RouteError | Событие неудачного построения маршрута, вследствие невозможности проложить путь к точке. |
Success | Событие успешного построения маршрута. |
Наследуемые события
- Из YMaps.Group:
- Add, Remove
Методы
Имя | Возвращает | Описание |
---|---|---|
applyView() | Применяет к карте границы области отображения маршрута. | |
getDistance() | Number | Возвращает длину маршрута (в метрах). |
getDuration() | Number | Возвращает расчетное время в пути (в секундах). |
getNumRoutes() | Integer | Возвращает количество построенных маршрутов. |
getNumWayPoints() | Integer | Возвращает количество точек остановки. |
getRoute(index) | YMaps.Route | Возвращает маршрут по его индексу. |
getWayPoint(index) | YMaps.WayPoint | Возвращает точку остановки (специальную метку YMaps.WayPoint) по индексу точки. |
Наследуемые методы
- Из YMaps.OverlayGroup:
- getMap, getParentContainer
- Из YMaps.Group:
- add, filter, forEach, get, indexOf, length, remove, removeAll, splice
- Из YMaps.IOverlay:
- onAddToMap, onMapUpdate, onRemoveFromMap
- Из YMaps.IGeoObject:
- getBounds, getComputedStyle, getParentGroup, getStyle, onAddToGroup, onRemoveFromGroup, setBounds, setStyle, update
Подробное описание конструктора
YMaps.Router(wayPoints, viaPoints, options)
Прокладывает маршрут через заданные точки.
Примеры:
1.
// Добавляет на карту схему проезда от станции метро "Курская" до станции метро "Парк Культуры".
map.addOverlay(new YMaps.Router(['Курская', 'Парк культуры']));
2.
// Добавляет на карту схему проезда от станции метро "Курская" до станции метро "Парк Культуры".
// При построении маршрута учитываются следующие требования: маршрут должен обязательно пройти через точку (37.583032, 55.745873),
// его начальная и конечная точки должны быть подписаны, соединительные линии должны быть заданного цвета, толщины и прозрачности,
// а центр и масштаб карты должны быть подобраны автоматически так, чтобы полностью вместить маршрут.
var router = new YMaps.Router(
['Курская', new YMaps.GeoPoint(37.583032, 55.745873), 'Парк культуры'], // Список точек
[1], // Здесь задаем индексы транзитных точек (точек, через которые мы хотим проехать без остановки) в массиве points
{ viewAutoApply: true } // Эта опция позволяет автоматически выставлять центр и коэффициент масштабирования карты
),
style = new YMaps.Style(); // Стиль для меток и линий маршрутизатора
style.lineStyle = new YMaps.LineStyle(); // Задаем стиль линии
style.lineStyle.strokeWidth = 5; // Ширина линии
style.lineStyle.strokeColor = '30405080'; // Цвет линии в формате RGBA
router.setStyle(style); // Применяем стиль к маршруту
map.addOverlay(router); // Добавляем маршрут на карту
// По событию успешного построения маршрута зададим подписи точкам маршрута
YMaps.Events.observe(router, router.Events.Success, function () {
// Задаем содержание меток для начальной и конечной точек.
// Транзитные точки на карте не отмечаются и не возвращаются методом getWayPoint
router.getWayPoint(0).setIconContent('Точка отправления');
router.getWayPoint(1).setIconContent('Точка прибытия');
});
Параметры:
Имя | Тип | Необязательный | По умолчанию | Описание |
---|---|---|---|---|
wayPoints |
(String | YMaps.GeoPoint[]) | ||
viaPoints |
Number[] | Индексы транзитных точек, т.е. точек, через которые нужно проехать без остановки. Отсчет индексов начинается с 0. | ||
options |
Object | Опции построения маршрута. | ||
options.viewAutoApply |
Boolean | false | Флаг, позволяющий автоматически установить центр и коэффициент масштабирования карты так, чтобы построенный маршрут был виден целиком. | |
options.boundedBy |
YMaps.GeoBounds | Область на карте, где предположительно находится искомые объекты. Используется, если точки маршрута заданы почтовым адресом, а не координатами. | ||
options.strictBounds |
Boolean | false | Искать только внутри области, заданной опцией boundedBy. Используется, если точки маршрута заданы почтовым адресом, а не координатами. | |
options.avoidTrafficJams |
Boolean | false | true - строить маршрут с учетом пробок, false - без учета пробок. При использовании опции учитывайте, что объезд пробок не всегда возможен. |
Подробное описание полей
Events
Object Events
Список событий маршрутизатора.
Подробное описание событий
Fault
Fault
Событие неудачной загрузки ответа с сервера маршрутизации.
В callback-функцию передаются два аргумента:
- ссылка на объект, для которого был вызван обработчик;
- строка с описанием ошибки.
GeocodeError
GeocodeError
Событие неудачного построения маршрута, вследствие ошибки геокодирования.
В callback-функцию передаются два аргумента:
- ссылка на объект, для которого был вызван обработчик;
- индекс точки, при геокодировании которой произошла ошибка.
Load
Load
Событие успешного получения ответа от сервиса маршрутизации. В callback-функцию передается ссылка на объект, для которого был вызван обработчик.
RouteError
RouteError
Событие неудачного построения маршрута, вследствие невозможности проложить путь к точке.
В callback-функцию передаются два аргумента:
- ссылка на объект, для которого был вызван обработчик;
- индекс точки, путь до которой нельзя построить.
Success
Success
Событие успешного построения маршрута. В callback-функцию передается ссылка на объект, для которого был вызван обработчик.
Подробное описание методов
applyView
applyView()
Применяет к карте границы области отображения маршрута.
getDistance
{Number} getDistance()
Возвращает длину маршрута (в метрах).
Возвращает:
Тип | Описание |
---|---|
Number | Длину маршрута (в метрах). |
getDuration
{Number} getDuration()
Возвращает расчетное время в пути (в секундах).
Возвращает:
Тип | Описание |
---|---|
Number | Расчетное время в пути (в секундах). |
getNumRoutes
{Integer} getNumRoutes()
Возвращает количество построенных маршрутов. Маршрутизатор строит несколько маршрутов, если задано несколько точек остановки. Метод getNumRoutes возвращает число успешно построенных маршрутов, которое (если не было ошибок) должно быть на единицу меньше числа точек остановки.
Возвращает:
Тип | Описание |
---|---|
Integer | Количество маршрутов. |
getNumWayPoints
{Integer} getNumWayPoints()
Возвращает количество точек остановки.
Возвращает:
Тип | Описание |
---|---|
Integer | Количество точек остановки. |
getRoute
{YMaps.Route} getRoute(index)
Возвращает маршрут по его индексу.
Параметры:
Имя | Тип | Описание |
---|---|---|
index |
Integer | Индекс маршрута. |
Возвращает:
Тип | Описание |
---|---|
YMaps.Route | Маршрут. |
getWayPoint
{YMaps.WayPoint} getWayPoint(index)
Возвращает точку остановки (специальную метку YMaps.WayPoint) по индексу точки.
Параметры:
Имя | Тип | Описание |
---|---|---|
index |
Integer | Индекс точки. |
Возвращает:
Тип | Описание |
---|---|
YMaps.WayPoint | Точку остановки (специальную метку). |