Проблема построения пешеходного маршрута к метро по адресу
Столкнулся с проблемой когда яндекс не может рассчитать расстояние от адреса который был указан к станции метро. А именно, мне нужно построить пешеходный маршрут от адреса который получает пользователь по Яндех suggest
Вот код:
function initGeoCode(homeAddress, arendaMap){
ids = 0;
ymaps.geocode(homeAddress).then(function (res1) {
var cityAddressCoords = res1.geoObjects.get(0).geometry.getCoordinates();
var myPlacemarkNew = new ymaps.Placemark(cityAddressCoords, {
hintContent: homeAddress,
center: homeAddress,
zoom: 12
}, {
iconLayout: 'default#image',
iconImageHref: '/local/templates/sdare/img/marker.png',
iconImageSize: [40, 39],
iconImageOffset: [-18, -35]
});
arendaMap.geoObjects.removeAll();
arendaMap.setCenter(cityAddressCoords, 12, {
checkZoomRange: true
});
arendaMap.geoObjects.add(myPlacemarkNew);
ymaps.geocode(cityAddressCoords, {
kind: 'metro',
results: 4
}).then(function (met) {
met.geoObjects.options.set('preset', 'islands#redCircleIcon');
$(".main-info__location").html("");
var metro = met.geoObjects,
res = '',
metroListBlock = $(".main-info__location");
met.geoObjects.each(function (obj, id) {
res = obj.properties.get('name');
ymaps.geocode(res).then(function (el) {
var addressMetro = el.geoObjects.get(0).geometry.getCoordinates();
// console.log(addressMetro);
var addressMetroName = el.geoObjects.get(0).properties.get("name");
var metroTemlate;
// построение маршрута сдесь
// важна вот эта часть кода
var route = new ymaps.multiRouter.MultiRoute({
referencePoints: [cityAddressCoords, addressMetro],
params: {
routingMode: 'pedestrian'
},
boundsAutoApply: true
});
route.model.events.add("requestsuccess", function (event) {
// console.log(route.getWayPoints().get(0).properties.get('duration'))
if (route.getRoutes().get(0)) { // проверка построен ли маршрут
ids++;
var distance = route.getRoutes().get(0).properties.get('duration');
metroTemlate = "<span class=\"item\"><i class=\"icon icon-metro\"></i><strong>" + addressMetroName + "</strong>" + distance.text + " пешком <input type='hidden' name='CLOSEST_METRO_MILTIPLE[]' value='" + addressMetroName +", "+ distance.text + " пешком'/></span>";
metroListBlock.append(metroTemlate);
}
}).add("requestfail", function (event) {
console.log("Ошибка: " + event.get("error").message);
});
});
});
});
});
}