Клуб API Карт

Заголовок не указан

nndv
21 декабря 2014, 14:18

Здравствуйте, на api 1.1, получалось свою картинку на иконку повесить:

var s = new YMaps.Style();
s.iconStyle = new YMaps.IconStyle();
s.iconStyle.href = "data:image/jpg;base64,.....";
var placemark = new YMaps.Placemark(new YMaps.GeoPoint(16, 16), { style: s });
placemark.setBalloonContent(mark);
map.addOverlay(placemark);

по новому api, не могу найти как это можно сделать.
делал к примеру так:
var collection = new ymaps.GeoObjectCollection();
if (ymaps.option.presetStorage.get('my#marker') == null) {
    ymaps.option.presetStorage.add('my#marker', {
        iconLayout: ymaps.templateLayoutFactory.createClass('<div style="width: 16px; height: 16px; style="background:url(data:image/png;base64,...")"></div>')
    });
}
var placemark = new ymaps.Placemark(
    [16, 16],
    {
        balloonContentBody: 'блабла'
    },
    {
        preset: "my#marker",
        balloonCloseButton: true,
        hideIconOnBalloonOpen: false
    }
);
collection.add(placemark);
map.geoObjects.add(collection);

вопрос:
у меня много разных картинок, как можно свое изображение именно из base64 (т.к. img очень много) назначить (по самому медленному пути - выше) на иконку?

4 комментария

Base64 URL можно передать в опцию iconImageHref

пробовал уже,

валится на (76774строка ):

    function isDataURI(url) {
        return url.substr(0, 5) == 'data:';
    }

Ну так передавайте только урл

передал, ошибка. есть решение?