Есть массив
var groups = [
{
coordinates: [55.826564, 37.532527],
title: 'Title',
color: 'gray'
},
{...}
]
Есть пустая коллекция
myCol = new ymaps.GeoObjectCollection();
Из массива достаем нужную инфу и создаем маркеры
for (var i = 0; i < groups.length; i++) {
placemark = new ymaps.Placemark(groups[i].coordinates, {
title: groups[i].title,
color: groups[i].color
});
myCol.add(placemark); // Добавляем в коллекцию
}
Добавляем на карту
myMap.geoObjects.add(myCol);
Все работает идеально.
А теперь я хочу выбрать все маркеры, у которых color == 'red'
var result = ymaps.geoQuery(myMap.geoObjects);
console.log(result.search('properties.color == "red"').getLength())
Получаю 0.
Причем если так,
console.log(result.search('geometry.coordinates.0 > 100').getLength())
То все ищется корректно.
Немного поизучав вопрос, выясняется, что на этапе
myCol.add(placemark); // Добавляем в коллекцию
properties теряется.
Есть ли варианты, кроме создания разных коллекций?