Для построения маршрута предназначена функция route. В эту функцию передается массив точек, через которые нужно проложить маршрут и, при необходимости, дополнительные опции его построения.
Вычисление маршрута производится асинхронно (то есть во время выполнения функции route производится обмен данными с сервером). Результат передается в функцию-обработчик в виде коллекции GeoObjectCollection, которую можно разместить на карте.
\n\n\n\n","router.js":"ymaps.ready(init);\n\nfunction init() {\n var myMap = new ymaps.Map(\"map\", {\n center: [55.745508, 37.435225],\n zoom: 13\n }, {\n searchControlProvider: 'yandex#search'\n });\n\n // Добавим на карту схему проезда\n // от улицы Крылатские холмы до станции метро \"Кунцевская\"\n // через станцию \"Молодежная\" и затем до станции \"Пионерская\".\n // Точки маршрута можно задавать 3 способами:\n // как строка, как объект или как массив геокоординат.\n ymaps.route([\n 'Москва, улица Крылатские холмы',\n {\n point: 'Москва, метро Молодежная',\n // метро \"Молодежная\" - транзитная точка\n // (проезжать через эту точку, но не останавливаться в ней).\n type: 'viaPoint'\n },\n [55.731272, 37.447198], // метро \"Кунцевская\".\n 'Москва, метро Пионерская'\n ]).then(function (route) {\n myMap.geoObjects.add(route);\n // Зададим содержание иконок начальной и конечной точкам маршрута.\n // С помощью метода getWayPoints() получаем массив точек маршрута.\n // Массив транзитных точек маршрута можно получить с помощью метода getViaPoints.\n var points = route.getWayPoints(),\n lastPoint = points.getLength() - 1;\n // Задаем стиль метки - иконки будут красного цвета, и\n // их изображения будут растягиваться под контент.\n points.options.set('preset', 'islands#redStretchyIcon');\n // Задаем контент меток в начальной и конечной точках.\n points.get(0).properties.set('iconContent', 'Точка отправления');\n points.get(lastPoint).properties.set('iconContent', 'Точка прибытия');\n\n // Проанализируем маршрут по сегментам.\n // Сегмент - участок маршрута, который нужно проехать до следующего\n // изменения направления движения.\n // Для того, чтобы получить сегменты маршрута, сначала необходимо получить\n // отдельно каждый путь маршрута.\n // Весь маршрут делится на два пути:\n // 1) от улицы Крылатские холмы до станции \"Кунцевская\";\n // 2) от станции \"Кунцевская\" до \"Пионерская\".\n\n var moveList = 'Трогаемся, ',\n way,\n segments;\n // Получаем массив путей.\n for (var i = 0; i < route.getPaths().getLength(); i++) {\n way = route.getPaths().get(i);\n segments = way.getSegments();\n for (var j = 0; j < segments.length; j++) {\n var street = segments[j].getStreet();\n moveList += ('Едем ' + segments[j].getHumanAction() + (street ? ' на ' + street : '') + ', проезжаем ' + segments[j].getLength() + ' м.,');\n moveList += ' '\n }\n }\n moveList += 'Останавливаемся.';\n // Выводим маршрутный лист.\n $('#list').append(moveList);\n }, function (error) {\n alert('Возникла ошибка: ' + error.message);\n });\n}"},"resources":[],"directory":"https://sandbox.api.maps.yandex.net/examples/ru/2.1/router/"}
Для построения маршрута предназначена функция route. В эту функцию передается массив точек, через которые нужно проложить маршрут и, при необходимости, дополнительные опции его построения.
Вычисление маршрута производится асинхронно (то есть во время выполнения функции route производится обмен данными с сервером). Результат передается в функцию-обработчик в виде коллекции GeoObjectCollection, которую можно разместить на карте.