Добрый день. Я хочу научить карту прокладывать маршрут через несколько точек и отображать длину проложенного маршрута. У меня получилось машрут проложить, но с длиной возникли проблемы:
1) multiRoute.getRoutes() возвращает пустой массив
2) multiRoute.getActiveRoute() возвращет null
Я знаю, что есть пример в песочнице (https://tech.yandex.ru/maps/jsbox/2.1/multiroute_data_access), но я не могу его пока использовать т.к. multiRoute.getRoutes() ничего не возвращет.
Код карты:
function init () {
/**
* Тестовый массив с метками адресов
*/
var adresses = [
[52.282071, 104.287999],
[52.276622, 104.316408],
[52.262905, 104.302418],
[52.225794, 104.311010]
];
/**
* Создаем мультимаршрут.
* Первым аргументом передаем модель либо объект описания модели.
* Вторым аргументом передаем опции отображения мультимаршрута.
* @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/multiRouter.MultiRoute.xml
* @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/multiRouter.MultiRouteModel.xml
*/
var multiRoute = new ymaps.multiRouter.MultiRoute({
// Описание опорных точек мультимаршрута.
referencePoints: [
[52.282071, 104.287999],
[52.276622, 104.316408],
[52.262905, 104.302418],
[52.225794, 104.311010]
]
}, {
// Автоматически устанавливать границы карты так, чтобы маршрут был виден целиком.
boundsAutoApply: true
});
// Создаем карту с добавленными на нее кнопками.
var myMap = new ymaps.Map('map', {
center: [55.750625, 37.626],
zoom: 7,
}, {
buttonMaxWidth: 300
});
// КОРЕНЬ ЗЛА!
var a = multiRoute.model.getRoutes();
// Добавляем мультимаршрут на карту.
myMap.geoObjects.add(multiRoute);
}
ymaps.ready(init);
Скажите, что я делаю не так и как узнать длину мультимаршрута?