for (var i = 0; i < route.getPaths().getLength(); i++) { way = route.getPaths().get(i); segments = way.getSegments(); for (var j = 0; j < segments.length; j++) { var street = segments[j].getCoordinates(); console.log(street);
А что вы понимаете под словом "выдернуть"? ) Вот же они у вас, в консоли)
А прикрепите, пожалуйста, весь код, начиная с построения маршрута, если не секрет. Быть может, решит мою проблему - у меня segment.getCoordinates() не работает :(
function init() { var myMap = new ymaps.Map("map", { center: [55.745508, 37.435225], zoom: 13 }); // Добавим на карту схему проезда // от улицы Крылатские холмы до станции метро "Кунцевская" // через станцию "Молодежная" и затем до станции "Пионерская". // Точки маршрута можно задавать 3 способами: // как строка, как объект или как массив геокоординат. ymaps.route([ 'Москва, улица Крылатские холмы', { point: [43.10071147066598,131.96696871536], // метро "Молодежная" - транзитная точка // (проезжать через эту точку, но не останавливаться в ней). type: 'viaPoint' } ]).then(function (route) { myMap.geoObjects.add(route); // Зададим содержание иконок начальной и конечной точкам маршрута. // С помощью метода getWayPoints() получаем массив точек маршрута. // Массив транзитных точек маршрута можно получить с помощью метода getViaPoints. var points = route.getWayPoints(), lastPoint = points.getLength() - 1; // Задаем стиль метки - иконки будут красного цвета, и // их изображения будут растягиваться под контент. points.options.set('preset', 'twirl#redStretchyIcon'); // Задаем контент меток в начальной и конечной точках. points.get(0).properties.set('iconContent', 'Точка отправления'); points.get(lastPoint).properties.set('iconContent', 'Точка прибытия'); // Сегмент - участок маршрута, который нужно проехать до следующего // изменения направления движения. // Для того, чтобы получить сегменты маршрута, сначала необходимо получить // отдельно каждый путь маршрута. // Весь маршрут делится на два пути: // 1) от улицы Крылатские холмы до станции "Кунцевская"; // 2) от станции "Кунцевская" до "Пионерская". var moveList = 'Трогаемся,</br>', way, segments; // Получаем массив путей. for (var i = 0; i < route.getPaths().getLength(); i++) { way = route.getPaths().get(i); segments = way.getSegments(); for (var j = 0; j < segments.length; j++) { var street = segments[j].getCoordinates(); console.log(street[1]);
тут много лишнего конечно, так как работаю с готовым примером...уже понял, что для вывод нужно использовать console.log(street[1]); либо console.log(street[0]); Вот только точки ходят вокруг да около. Хотя для моей задачи это не проблема.
мультироут-это мультимаршрут, то есть когда находятся несколько вариаций маршрутов между двумя точками? В таком случае может попробуете принудительно указывать к какому маршруту обращаетесь, без сложных цыклов в цикле, а когда получится с одним маршрутом, можно подвесить уже перебор по всем.
Нет, мультимаршрут это когда куча точек последовательно. Возвращает пути в порядке указания точек. (это не промежуточные точки маршрута, а именно последовательные точки).