Клуб API Карт

API 2.1 Как задать свою иконку на метку.

Федор Земсков
9 октября 2013, 11:32

Добрый день друзья.

Не могу понять как задать свою иконку на метку + по клике метки открывался мой балун.

Пример из песочницы:

ymaps.ready(function () {
    var myMap = new ymaps.Map('YMapsID', {
        center: [55.733835, 37.588227],
        zoom: 12,
        // Обратите внимание, что в API 2.1 по умолчанию карта создается с элементами управления.
        // Если вам не нужно их добавлять на карту, в ее параметрах передайте пустой массив в поле controls.
    });
    var myPlacemark = new ymaps.Placemark(myMap.getCenter(), {
        balloonContentBody: [
            '<address>',
            '<strong>Офис Яндекса в Москве</strong>',
            '<br/>',
            'Адрес: 119021, Москва, ул. Льва Толстого, 16',
            '<br/>',
            'Подробнее: <a href="http://company.yandex.ru/">http://company.yandex.ru/<a>',
            '</address>'
        ].join('')
    }, {
        iconLayout: 'default#image',
        iconLayout.imageHref: 'путь для картинки'
    });
    myMap.geoObjects.add(myPlacemark);
});
Правильно ли я думаю, не могу понять с iconLayout. Пока новичок в API яндекс карт. Все спасибо за помощь.
7 комментариев
Подписаться на комментарии к посту

Опция называется iconImageHref

http://api.yandex.ru/maps/doc/jsapi/beta/ref/reference/GeoObject.xml

iconLayout с ней задавать не надо, он итак default#image по умолчанию

Федор Земсков
9 октября 2013, 15:09

Спасибо за направление, откопал решение.

А вот и неправда, по умолчанию islands#blueIcon, а он не наследник default#image (SVG же).
Ну а как сделать, к примеру, что бы при наведении мышки включался другой iconLayout, например 'my#enter'?

Пробовал, но пока не выходит:

            this._hover.options.set({
                'visible': true,
                iconLayout: 'my#enter'
            }) ;

что такое this._hover ?

выведите это в консоль и поймете почему не получается.

this._hover = new ymaps.Placemark([], {}, {visible: false, iconLayout: 'my#placemark', iconShadowLayout: 'my#shadow'});

В целом уже заработало. Хз почему вчера не работало. Сегодня запустил и всё гуд ;)
Можно ли использовать для балуна иконку в формате SVG ?