Клуб API Карт

Как скрыть метку с коллекции на карте?

Пост в архиве.

Добрый день.
 добавляю коллекцию меток на карту, потом при клике вне карты перебором хочу скрыть нужную метку. как это сделать?

collections = new ymaps.GeoObjectCollection();
collections.add(new ymaps.Placemark(...));
		map.geoObjects.add(collections);
		map.geoObjects.each(function (geoObject) {
			console.log(geoObject.properties.getAll());
		});

10 комментариев
geoObject.options.set('visible', false);
Александр О.
26 августа 2016, 13:39
dimik,
как это сделать у нужной метки?
Александр О.,
Что значит у нужной?
Александр О.
26 августа 2016, 13:47
кстати, почему то geoObject.properties.get('id') в этом цикле пишет undefined,
хотя метки на карте видны.


Александр О.,
Значит вы  не добавили поле id в properties
Александр О.
26 августа 2016, 14:47
dimik,
в properties вообще пусто.
решил так и работает
var result = ymaps.geoQuery(map.geoObjects);
  for (var i = 0; i < result._objects.length; i++) {
if(result._objects[i].properties._data['abbrev'] == 'constanta'){
result._objects[i].options.set('visible', true);

}
}
получается через ж//у, но работает :)
должен быть метод лучше, уверен.
Александр О.,
Да уж тяжелый случай. Я вижу в документацию заглянуть сложнее чем в консоль.
Педальные поля не надо использовать, используйте задокументированные интерфейсы, например метод search
Александр О.
26 августа 2016, 15:30
dimik,
я не понял как выставить options.set('visible', false) через search
result.search('properties.abbrev == constanta').options.set('visible', false); ? ))


Александр О.,
https://tech.yandex.ru/maps/doc/jsapi/2.1/ref/reference/GeoQueryResult-docpage/#setOptions
Александр О.
26 августа 2016, 16:02
dimik,
да так лучше спасибо!