Клуб API Карт

Фильтрация меток

Real Kireal
30 мая 2015, 12:27

Здравствуйте. Хочу реализовать фильтрацию меток на карте. Есть много меток, они кластеризованы, и каждая метка относится к своей категории (ну примерно вот так http://www.ibg.ru/dms_map/test.php). Как реализовать фильтр по этим категориям ?

Видел пример http://dimik.github.io/ymaps/examples/piechart-clusterer/cluster-status-simple.html получается, мне нужно нечто подобное с чекбоксами (только отображение пирога на кластере не нужно).

Исходный код очень сложный для такого новичка как я...шаблоны...я их никогда не использовал. Кто-то может немного объяснить работу скрипта или предложить более понятное решение. Вся задача скрывать и показывать метки с определённым содержимым.

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

Этот пример написал я. Что именно надо объяснить?

Ну вот в этом примере всё куда проще http://dimik.narod.ru/ymaps/grouping.html . Создается DOM-представление, api-представление. Код понятен даже мне.

А во втором примере (с кластерами) используются конструкции вида 

В примере используется jQuery-Templates

Для сложных примеров лучше отделять работу с представлением в DOM от операций с данными с помощью шаблонов.

Вы можете не использовать шаблоны и cклеить html-строки c данными "ручками" прямо в коде, но это будет нечитаемо

 

используйте менеджер объектов с кластеризацией.

для фильтрации объектов есть метод setFilter

Пример в песочнице

https://tech.yandex.ru/maps/jsbox/2.1/object_manager

Спасибо, за совет. Почитал, разобрался.

Я правда решил сделать под каждую категорию меток свой objectManager. Насколько такой подход оправдан? Сделал так, потому что проще управлять внешним видом меток, а скрываю - показываю их на карте методами myMap.geoObjects.add(objectManager) и myMap.geoObjects.remove(objectManager).  Кода правда получается многовато одинакового почти...