Клуб API Карт

Получение маршрута через geoQuery

Пост в архиве.

Добрый день! 

Нужно организовать поиск по коллекции маршрутов. Думал сделать это при помощи  geoQuery, но маршруты в него не попадают, хотя вроде являются геообъектами.  

Получаю список геообъектов

result = ymaps.geoQuery(myMap.geoObjects);

result.getLength() выводит 0, хотя на карту добавлены маршруты.

Подскажите пожалуйста, что не так?

5 комментариев

Как именно вы добавляете маршруты на карту?

 

ymaps.route([
'Санкт-Петербург',
'Пушкин'
]).then(function (route) {
myMap.geoObjects.add(R3 = route);
  var points = route.getWayPoints();
   
var way;  
for (var i = 0; i < route.getPaths().getLength(); i++) {
way = route.getPaths().get(i);
way.options.set('strokeColor', '#4a7aba');  
}
}, function (error) {
alert('Возникла ошибка: ' + error.message);
});

 

Получилось выбрать пути вот таким образом: 

AllPaths = [R1.getPaths().add(R1.getWayPoints()),R2.getPaths() .add(R2.getWayPoints()) ];
var result = ymaps.geoQuery(AllPaths);

В том ли направлении двигаюсь?

Спасибо!

 

 

 ЗЫ: Ещё такой вопрос: если выбирается маршрут по цвету, то можно ли добавить к нему его waypoints, чтоб потом сделать remove?

 

 

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

У нас есть пример в песочнице на эту тему - тоже строится маршрут и по нему делается выборка http://api.yandex.ru/maps/jsbox/route_inside_polygon

Спасибо, маршруты добавились. Хотел спросить вот ещё что: Можно ли сделать поиск по меткам, если у них задан кастомный фон? То есть, например search('options.iconImageHref = "/images/flag.png"') - не работает. Есть ли альтернатива?

Извините за задержку с ответом - я попробовала в песочнице сделать такой поиск. Нашелся баг, при котором вот такое условие не срабатывает

search('options.iconImageHref="/maps/doc/jsapi/2.x/examples/images/myIcon.gif"')

А если отбить урл пробелами, начинает работать

search('options.iconImageHref = "/maps/doc/jsapi/2.x/examples/images/myIcon.gif"')