Клуб API Карт

Получение расстояние и времени до ближайшего метро

DENIA-SELECT
26 мая, 02:21

Здравствуйте уважаемые разработчики,

Столкнулся с проблемой которую никак не могу решить. 
Хочу сделать подсчет ближайшего метро (кол-во задается) от определенной координаты. За основу взял вот этот пример:
https://tech.yandex.ru/maps/jsbox/2.1/multiroute_data_access/

1. Добавил получение ближайшего метро
2. Прокладка пешего маршрута от исходной координаты.

Мой скрипт находит метро, прокладывает к ним маршруты, но я не могу вывести расстояние и необходимое время для каждого маршрута. Скрипт только выводит последний несколько раз. Вот все выложил на Fiddle 

https://jsfiddle.net/Selection/5gbk0sgh/9/

Помогите пожалуйста

5 комментариев
DENIA-SELECT
26 мая, 02:38
Пометил часть кода, который создает только последний экземпляр класса. Как мне кажется внем и проблема
//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
DENIA-SELECT,
Вы в цикле делаете require (плохо) модуля MultiRouteCustomView и передаете ему ссылку на multiRouteModel в конструктор.
Функция которая передается в вызов require, она же не просто так туда передается, она как бы намекает нам, что это callback и вызов require возвращает результат асинхронно. Соответственно внутри этой функции ссылка на multiRouteModel будет всегда указывать на последнюю модель, а счетик цикла "i" будет = 5


ymaps.modules.require([
'MultiRouteCustomView'
], function (MultiRouteCustomView) {
console.log(i);
// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Это асинхронный вызов
// Создаем экземпляр текстового отображения модели мультимаршрута.
new MultiRouteCustomView(multiRouteModel, metroName + " " + branch);
});
DENIA-SELECT
26 мая, 10:24
Есть какие нибудь предложения? Мне следует создавать тогда массив multiRouteModel?
Я пробовал но без результатно. Как Вы видите решение этой проблемы ?

DENIA-SELECT,
можно же выше его загрузить, тогда цикле все будет синхронно, например так:
ymaps.ready(function () {
ymaps.modules.require([
'MultiRouteCustomView'
], init)
});
function init(MultiRouteCustomView) {
   ...
}
Обновлено 26 мая, 11:17
DENIA-SELECT
26 мая, 13:01
dimik,
Спасибо добрый разработчик! 
Все заработало! 
Обновлено 26 мая, 13:01