Клуб API Карт

Точки маршрута

comgr
31 октября 2012, 22:55

Друзья помогите отловить проложенный маршрут если это возможно конечно.

Я использую элемент управления "Редактор маршрутов". 

routeEditor = new ymaps.control.RouteEditor();

map.controls.add(routeEditor)


Как выловить массив точек через которой был построен маршрут?

9 комментариев
Подписаться на комментарии к посту

Или надо спомощью event отследить событие когда маршрут уже построен и после этого пытаться полусить его точки? 

Помогите, подкиньте пример...

Вот почему так бывает?

Только поделишся с кем-то проблемой, как тут же все начинает получаться....

this.routeEditor.events

                                .add('select', function () { alert('Нажата'); })

                                .add('deselect', function () { alert('Отжата');

                                    console.log(routeEditor.getRoute());});

Вот теперь бы понять, как вытащить все точки маршрута, а не только начало и конец... :)

А вот еще попутный попрос.

Как остледить назначение промежуточных точек?

Ааа, наверное надо сделать еще одну кнопку которую будет нажать клиент после того как окончательно проложет маршрут и в ней ловить все точки. А появляться она должна после того как человек поставит начала и конец маршрута... Попробуем...

а может быть через события редактора попробовать?

О спасибо. Попробую, это будет более грамотно чем сделал, я через селект.

Получилось собрать все точки (начало, конец и промежуточные).

this.btnEnd = new ymaps.control.Button('Я');

                        this.btnEnd.events

                                .add('select', function () { alert('Нажата');

                                    console.log(routeEditor.getRoute());})

                                .add('deselect', function () { alert('Отжата'); });

                        map.controls.add(btnEnd)

Как собрать все точки через которые роходит маршрут? Видимо надо как-то прикрутить Paths.

getRoute() видимо возвращает Route

я бы попробовал почитать документацию

Огросное спасибо. Получилось :-) 

this.btnEnd = new ymaps.control.Button('Я');

                        this.btnEnd.events

                                .add('select', function () { alert('Нажата');

                                    console.log(routeEditor.getRoute());

                                    var Route=routeEditor.getRoute()

                                    var RouteArray = Route.getPaths();

                                    RouteArray.each(function (end, i){

                                        console.log(end.geometry.getCoordinates());

                                    });})

                                .add('deselect', function () { alert('Отжата'); });

                        map.controls.add(btnEnd)

comgr, можешь дать пример- что у тебя получилось? Ищу решение примерно этой-же проблемы: как проложив маршрут, увидеть все остановки общественного транспорта через которые проехал и сохранить их для дальнейшей обработки..