Клуб API Карт

Объединение стилей для метки на карте

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

Пытаюсь сделать так:

 

var s = new YMaps.Style();
         s.balloonContentStyle = new YMaps.BalloonContentStyle(new YMaps.Template("<div style=\"color:#F00\""));
         s.iconStyle = new YMaps.IconStyle("default#shopIcon");
var placemark = new YMaps.Placemark(new YMaps.GeoPoint(36, 55), {style: s} );

 

Цвет для балуна срабатывает, меняясь на красный, а вот значок меняться не хочет, остается стандартным.

Никак не пойму, в чем дело

4 комментария
default#shopIcon — ключ стиля, а вы используете его как ключ шаблона.
как же мне совместить два стиля -  и тот, что задается ключом стиля, и тот, который я задаю самостоятельно? пробую по-всякому, все не работает.
Казалось бы, должно работать так:

 


var s = new YMaps.Style();
s.balloonContentStyle = new YMaps.BalloonContentStyle(
                       new YMaps.Template("$[desc]"));
var placemark = new YMaps.Placemark(new YMaps.GeoPoint(37,55>),
                      {style: {parentStyle : "default#shopIcon", balloonStyle : s}} );
map.addOverlay(placemark);

но не работает. То есть иконка меняется, а стиль балуна не применяется.
balloonStyle ожидает инстанс класса YMaps.BalloonStyle, а вы передаёте инстанс YMaps.Style.
Спасибо за помощь. Все получилось
Правильно так:

 


s.balloonContentStyle = new YMaps.BalloonContentStyle(тряляля);
{style: {parentStyle : "default#shopIcon", balloonContentStyle : s.balloonContentStyle}} );