Клуб API Карт

API 2.0 Вывод точек если не удалось проложить маршрут

napositive
24 июня 2012, 17:00

Как вывести все точки на карте если маршрут не удалось проложить.

Сейчас есть только примеры с выводом ошибки. Но я хочу увидеть точки несмотря на то что маршрут не удалось построить

Как получить список точек?

 

В первой версии можно было сделать как то так: 

YMaps.Events.observe(router, router.Events.RouteError, function () {

 

var points = [

       router.getWayPoint(0).getGeoPoint(),  // Откуда

       router.getWayPoint(1).getGeoPoint(),  // Куда

   ];

}

Спасибо

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

полагаю нужно использовать метод getWayPoints

К какому объекту?

смотри самый последний пример

var points = route.getWayPoints();

Во второй обработчик передается другой объект (в примере error), для которого аналогичный вызов ничего не возвращает.

ааа... ну тогда сделай метки из входных данных и используй их

 

Без примера не пойму как это сделать, Как определить и добавить на карту сразу несколько точек

Для маршрута это делается просто:

var router = ymaps.route(['Москва','Санкт-Петербург','Мурманск'],{mapStateAutoApply: true});

Заранее спасибо за наводку

 

надо этот массив объектов сначала геокодировать, затем создаешь метки по найденным координатам,

затем строишь по ним маршрут и из маршрута выводишь только линии, т.к. метки уже у тебя будут нанесены

Да, спасибо. В принципе у меня уже что то получилось:

var points = ['...Список адресов...'];while(i < points.length){ymaps.geocode(points[i],{results:1}).then(   function (res) {map.geoObjects.add(res.geoObjects);   },   function (err) {});i++;}

Может можно как то проще, не знаю.

Осталась только проблема как карту передвинуть так чтобы все точки были видны. По этой теме я разместил уже отдельную ветку. Буду ждать релиза.