Клуб API Карт

Как отфильтровать по свойству с помощью setFilter

kdmmatrass
29 августа 2017, 13:23

Я добавил на карту точки (пример: https://jsfiddle.net/79Ljvw7a/)

Мне нужно отфильтровать эти точки по свойству  myid 

Погуглив я так понял, что мне нужно это https://tech.yandex.ru/maps/doc/jsapi/2.1/ref/reference/ObjectManager-docpage/

Попробовал сделать так 

objectManager2.setFilter('properties.myid == "two")

Чтобы показать к примеру только точки у которых myid = two, но не сработало.

Можете подсказать как правильно фильтровать по свойству?

8 комментариев
Не надо размещать несколько экранов кода в посте. Создайте пример с вашим кодом на jsfiddle.net
dimik,
Ок, исправил
kdmmatrass,
Я вижу только одну метку, соотв. фильтр вроде работает как надо
https://jsfiddle.net/79Ljvw7a/1/
Обновлено 29 августа 2017, 14:43
dimik,
Да, это я чет видно тормознул у себя в синтаксисе. Еще вопрос, можно изменить цвет у всех точек, у которых допустим myid равен "two"?
kdmmatrass,
Если вы не устанавливаете цвет в json, то после вызова setFilter вы можете выставить preset самому objectManager, т.к. он будет содержать только отфильтрованные метки.


Если вы хотите переопределять preset при фильтрации (сайд-эффект) можно использовать функцию вместо строки в setFilter (пример 3)
и делать в ней setObjectOptions
Обновлено 30 августа 2017, 08:26
dimik,
Нет я хочу переопределять не при фильтрации, а просто, чтобы у меня на карте были точки и со свойством myid="first" и myid="two", только точки со свойством myid="two" раскрасить в другой цвет, например при клике НЕ на карте. Тут я так понимаю, тоже надо использовать setObjectOptions, можете подсказать как в таком случае мне получить все id точек у которых свойство myid="two"
kdmmatrass,
вы можете искать по оригинальному массиву точек, который передается в objectManager.add
dimik,
Спасибо