HTML:

<ya-map ya-zoom="13" ya-center="[37.435225,55.745508]" ya-after-init="route($target)"></ya-map>
<ol>
    <li ng-repeat="p in path">{{ p }}</li>
</ol>
    

javascript:

var routePoints = [
    'Москва, улица Крылатские холмы',
    {
        point: 'Москва, метро Молодежная',
        // метро "Молодежная" - транзитная точка
        // (проезжать через эту точку, но не останавливаться в ней).
        type: 'viaPoint'
    },
    [55.731272, 37.447198], // метро "Кунцевская".
    'Москва, метро Пионерская'
];
$scope.route = function(map){
    ymaps.route(routePoints).then(function (route) {
        map.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 way,
            segments,
            path=['Трогаемся'];
        // Получаем массив путей.
        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].getStreet();
                path.push('Едем ' + segments[j].getHumanAction() +
                    (street ? ' на ' + street : '') +
                    ', проезжаем ' + segments[j].getLength() + ' м.,'
                );
            }
        }
        path.push('Останавливаемся');
        $scope.$apply(function(){
            $scope.path = path;
        });
    }, function (error) {
        alert('Возникла ошибка: ' + error.message);
    });
};
  1. {{ p }}