@Windramix

Яндекс карта js отключение и включение меток?

У меня стоит задача реализоваться похожую карту, но не понимаю как сделать так что бы как в примере по ссылке, отключать и включать метки по радо кнопке.
www.fedroad-bur.ru/map/?type=d

Так же будет похожая задача (на скриншоте)
61f0a206cd7ea711149611.png
  • Вопрос задан
  • 38 просмотров
Пригласить эксперта
Ответы на вопрос 1
Real_Fermer
@Real_Fermer
Программист PHP
Вот такое у себя нашел
загоняем коллекцию меток в 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]
}
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы