Задать вопрос

Как обратиться к метке по id?

Создаю метки примерно таким образом
addressPointsCollection = new ymaps.GeoObjectCollection()
    addedAddressesCount = 0

    for address in addresses
      geoObject = new ymaps.GeoObject
        geometry:
          type: 'Point'
          coordinates: [address.latitude, address.longitude]
        properties:
          # iconContent: address.service.name
          hintContent: address.location
          id: address.id
      , preset: 'islands#darkGreenCircleDotIcon'


      addressPointsCollection.add geoObject
      addedAddressesCount += 1

      searchMap.geoObjects.add addressPointsCollection
      searchMap.setBounds(addressPointsCollection.getBounds(), { checkZoomRange: true });

Можно ли теперь зная id (id: address.id) обратиться к метке, к примеру чтобы изменить иконку?

Вообще хочу следующее: пользователь кликает-наводит курсор на элемент списка, в котором есть параметр с id, по этому id ищется метка и у нее что-либо меняетя, к примеру цвет иконки.
  • Вопрос задан
  • 304 просмотра
Подписаться 1 Оценить Комментировать
Решения вопроса 1
twiSk
@twiSk
Full-stack web developer
Через properties.id обратиться к метке не получится. Можно создать глобальный объект (массив) и складывать в него метки.

var objects = {};

Добавляете метку:
objects[address.id] = geoObject;

Потом в нужный момент обращаетесь к метке, например, чтобы сменить цвет:
objects[id].options.set('preset', 'islands#greenCircleDotIcon');
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы