Вот такое у себя нашел
загоняем коллекцию меток в objectManager
objectManager.add(col);
Создаем контрол ListBox
var listBoxItems = ["Нет фамилии ","Круглов Игорь", "Нечаев Павел", "Вышкин Максим", "Жуков Владимир", "Александр Александр", "Сабыржанов Юрий", "Иванов Игорь"
].map(function (title) {
return new ymaps.control.ListBoxItem({
data: {
content: title
},
state: {
selected: true
}
})
}),
// Теперь создадим список, содержащий 5 пунктов.
listBoxControl = new ymaps.control.ListBox({
data: {
content: "Фильтр",
title: "Фильтр"
},
items: listBoxItems,
state: {
// Признак, развернут ли список.
expanded: true,
filters: listBoxItems.reduce(function (filters, filter) {
filters[filter.data.get("content")] = filter.isSelected();
return filters;
}, {})
}
});
myNewMap.controls.add(listBoxControl);
// Добавим отслеживание изменения признака, выбран ли пункт списка.
listBoxControl.events.add(["select", "deselect"], function (e) {
var listBoxItem = e.get("target");
var filters = ymaps.util.extend({}, listBoxControl.state.get("filters"));
filters[listBoxItem.data.get("content")] = listBoxItem.isSelected();
listBoxControl.state.set("filters", filters);
});
var filterMonitor = new ymaps.Monitor(listBoxControl.state);
filterMonitor.add("filters", function (filters) {
// Применим фильтр. для вывода вбранных элементов коллекции
objectManager.setFilter(getFilterFunction(filters));
});
function getFilterFunction(categories) {
return function (obj) {
var content = obj.properties.hintContent;
return categories[content]
}
}