Клуб API Карт

Как поменять стиль метки после map.addOverlay(metka)

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

Перерыл справочник и форум, но не нашел способа поменять стиль метки после map.addOverlay(metka)

...определил стиль картинки и тени для метки по умолчанию

            var stylemet = new YMaps.Style();
            stylemet.iconStyle = new YMaps.IconStyle();
            stylemet.iconStyle.size = new YMaps.Point(50, 50);
            stylemet.iconStyle.offset = new YMaps.Point(-25, -60);
            stylemet.iconStyle.shadow = new YMaps.IconShadowStyle();
            stylemet.iconStyle.shadow.href = "/shad.png";
            stylemet.iconStyle.shadow.size = new YMaps.Point(78, 69);
            stylemet.iconStyle.shadow.offset = new YMaps.Point(-29, -64);

саму картинку (адрес) хочу менять уже после map.addOverlay(metka)

т.е. я в метке загружаю через AJAX картинку на сервер... обрезаю её строго квадратом 50 на 50
и на выходе хочу сменить стиль метки на эту картинку

6 комментариев
Стиль можно поменять с помощью метода setStyle().
var placemark = new YMaps.Placemark(new YMaps.GeoPoint(35, 55));
map.addOverlay(placemark);

placemark.setStyle("default#greenPoint");
Сергей Миронов
28 января 2016, 07:13
мне не неужно менять стиль
я хочу поменять только

stylemet.iconStyle.href

уже после map.addOverlay(polygon)
Для изменения значка метки необходимо изменить стиль. От этого никуда не деться.
С учетом вашего общего стиля (от которого можно унаследоваться) новый стиль может выглядеть так:
var newStyle = new YMaps.Style(stylemet);
newStyle.iconStyle = new YMaps.IconStyle();
newStyle.iconStyle.href = "новый адрес изображения";
 


Перерыл справочник и форум,


Странно, а у меня поиском с названием темы находиться страничка где все написанно.
И о ужас, даже на страничке YMaps.Placemark есть нужный вам метод.

Сергей Миронов
28 января 2016, 07:13
дебагер выдает ошибку

this_.iconStyle.href is undifined

вообщем решил проблемы другим способом... еще на этапе уменьшение картинки для метки склеиваю её с png`шкой на прозрачном фоне и уже с тенью
Сергей Миронов
28 января 2016, 07:13
а в коде убрал в стилях тень