Клуб API Карт

Не удается сменить значок метки.

irlag
1 февраля 2010, 14:44

Не могу изменить иконку. Проблемное место отметил комментарием. Что посоветуете? Вот код:

.....

var s = new YMaps.Style();
s.balloonContentStyle = new YMaps.BalloonContentStyle(
     new YMaps.Template("<div><strong>$[name]</strong><br />$[description]</div>")
    );

s.iconStyle = new YMaps.IconStyle();
s.iconStyle.template = "default#greenPoint"; // вот оно!
s.iconStyle.size = new YMaps.Size(30, 30);
   
var placemarkVladik = new YMaps.Placemark(new YMaps.GeoPoint(44.670139,43.014042), {style: s} );

placemarkVladik.name = "Привет!";
placemarkVladik.description = "Добро пожаловать!";
   

mapVlad.addOverlay(placemarkVladik);   

...

4 комментария
Подписаться на комментарии к посту
В поле template должен быть либо указатель на шаблон, либо ключ шаблона.

Вы указывает ключ стиля. Этот стиль не может быть найден в хранилище шаблонов и возвращается ошибка.

Напишите так:
s.iconStyle = new YMaps.IconStyle("default#greenPoint");
Стиль для значка будет унаследован от стандартного зеленого.
Здравствуй Саша! Я до твоего ответа пробовал передавать в конструктор ключ, но это не помогло.
...
s.iconStyle = new YMaps.IconStyle("default#greenPoint"); // вот оно!
...
Если тебе не трудно взглянуть на исходник, я могу ссылку оставить.
Извините, ошибся. Родительский стиль нужно передать в конструктор Style:
var s = new YMaps.Style("default#greenPoint");
Если не заработает, то дайте ссылку на страницу.
Аллилуйа!!! Благодарю, Саша! Тока начал разбираться с API.