Клуб API Карт

Не меняется стиль метки

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

Сегодня пытался задавать стиль метки, и обнаружил что стили Samll не применяются. Код примерно такой

placemark=new YMaps.Placemark(new YMaps.GeoPoint(object.item.lng, object.item.lat));
placemark.setIconContent(null);
placemark.setOptions(placemark_options);
placemark.setBalloonOptions(balloon_options);
placemark.setBalloonContent('<b>' + object.item.title + '</b>'
+ '<br />' + object.item.description + '<br /><img src="/'+ object.item.img +'">');
placemarks.push(placemark);
И ещё вопрос -  как можно получить картинку для стиля зная имя стиля?

 

1 комментарий
Я ни вижу стилей Samll в приведенном фрагменте кода.

Стиль чаще всего задается с помощью метода setStyle (но можно и через setOptions, как делаете вы).
Приведу небольшой пример:

placemark.setStyle({
    iconStyle : {
        href : "адрес до картинки",
        size : new YMaps.Point(10, 10), // Размер картинки в пикселях
        offset : new YMaps.Point(-5, -5)  // Смещение картинки
    }
});

Если вы знаете имя стиля, то получить картинку можно так:

var myStyle; // Имя стиля
alert(myStyle.iconStyle.href); // alert с адресом картинки

Если вы знаете ключ стиля (строка-идентификатор, типа "my#defaultStyle", то вначале его нужно получить из хранилища стилей:

var myStyle = YMaps.Styles.get("my#defaultStyle");

Более подробную информацию о метке и стилях можно почитать в нашей документации.