Клуб API Карт

Получение адреса при перетаскивании

shiyankin
15 февраля, 13:42

Здравствуйте,

Использую multiRouter для построение маршрута на автомобиле, как можно при перетаскивании (когда wayPointDraggable: true) точки  получать новый адрес и вставлять его в поле input? Может быть у кого-то завалялся пример?

Спасибо.

4 комментария
надо слушать requestsuccess на модели, брать новые координаты точки и геокодировать их
А можно пример с кодом?)
Вот мой код:
var multiRoute = new ymaps.multiRouter.MultiRoute({
referencePoints: [$('#start').val(), $('#finish').val()],
params: {

results: 1,
avoidTrafficJams: true
}
}, {
editorDrawOver: false,
wayPointDraggable: false,
viaPointDraggable: false,
// Задаем собственное оформление линий мультимаршрута.
routeStrokeColor: "000088",
routeActiveStrokeColor: "00a743",
pinIconFillColor: "00a743",
boundsAutoApply: true,
zoomMargin: 30
});

myMap.geoObjects.add(multiRoute);

multiRoute.model.events
.add('requestsuccess', function(e){
var route = e.get('target').getRoutes()[0];
if(route != undefined){

var distance = route.properties.get('distance');

$('input[name="km"]').val(distance.value);

}
})
.add('requestfail', function(e){

alert("Ошибка: " + event.get("error").message);
}); 
Теперь мне нужно при перетаскивании обратно заполнять поля $('#start').val(), $('#finish').val() новыми адресами.
 Подскажите пожалуйста.
shiyankin,
В обработчике requestsuccess нужно получать коллекцию путевых точек (обычные метки), для каждой точки получать координаты из геометрии и геокодировать. Из данных геокодера можно получить адрес