Клуб API Карт

Активная область iconLayout, активный iconLayout.

belskaya.kseniya1995
18 мая, 09:22

вопрос по версии 2,1
Для создания маркера использую iconLayout
пример:
var myIconContentLayout = ymaps.templateLayoutFactory.createClass('<div class="custom-mark-yandex custom-mark-yandex_inactive">  <span class="custom-mark-yandex-text">22 500  <span class="ruble">a</span></span></div>');

    myPlacemark = new ymaps.Placemark([54.96809607, 73.38275550], {            
        }, {             
            iconLayout: myIconContentLayout,
            iconOffset: [-50,-31],
            iconShape: {
                type: 'Rectangle',
                coordinates: [
                [0, 0], [90, 21]
                ]
            }
        });
Как сделать так, что бы при нажатии на метку, я смогла поменять класс custom-mark-yandex_inactive на custom-mark-yandex_active, для того, что бы изменить ее цвет?
Ну и второй вопрос. ширина маркера у меня зависит от контента, как можно узнать ширину? Потому что завадать в явном виде iconShape не вариант.
И из-за того что у меня ширина метки не фиксированная, как задавать правильно iconOffset?

3 комментария
В макете можно определить метод getShape 
Я делал пример макета иконки метки c multiline содержимым 
belskaya.kseniya1995
19 мая, 09:42
dimik,
спасибо большое) а с другими вопросами не поможете?
вот что бы цвет менялся, по вашему примеру сделала

myPlacemark.events.add('click', function (e) {
e.get('target').options.set('iconColorStyle', 'active');
});
но когда тыкаешь на вторую метку, мне нужно обратно вернуть цвет первой метки на inactive. Как это сделать?
belskaya.kseniya1995,
можно сохранять ссылку на выбранную метку (в переменной)