Клуб API Карт

Изменение пользовательского шаблона метки во время работы

mos-nok
11 февраля 2015, 19:22

Требуется изменять цвет метки с пользовательским шаблоном во время работы. Задал в шаблоне $[properties.color] в атрибутах style метки прямо в html-коде, пробую менять, но ничего не получается...

JS-фидл, имитирующий весь принцип работы здесь:

http://jsfiddle.net/sp3w76jt/1/

Описание:
По умолчанию отображены все метки, с дефолтными стилями.

При нажатии на одну из кнопок (на важно на какую) - часть меток надо "перекрасить", т.е. изменить им $[properties.color] в шаблоне.

При нажатии на кнопку-фильтр - метки можно убрать с карты, а можно вновь отобразить, не забыв "раскрасить" те, к-е были раскрашены до того как метки убрали с карты.

Подскажите, как менять стиль шаблона метки объекта, если для метки задан пользовательский макет.

 

Сейчас делаю это так:

        var obj = $( '.placemark_layout_container.11' );
        obj.find( '.placemark_wrap' ).css( { 'border-color' : '#333dfa' } );
        obj.find( '.triangle_b' ).css( { 'border-top-color' :  '#333dfa' } );

но это неправильно ведь

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

1. Зачем писать тег script во вкладке CSS?

2. "class" – зарезервированное слово в Javascript, не надо так называть ключи объектов

3. Вы устанавливаете значение 11, а ищете "11" есть разница?

4. properties это 2-й параметр в конструкторе метки, а не 3-й

5. class="11" – Do NOT start a class name with a number!

 

http://jsfiddle.net/sp3w76jt/3/

1. Так получилось после экспорта из песочницы Яндекс. Сам ничего в jsfiddle не дописывал

 

Остальное понял, спасибо большое, очень помогли