Клуб API Карт

myMap.geoObjects.add(res.geoObjects); своя иконка

raindew
18 декабря 2012, 13:02

Всем доброго времени суток.

Нужно было создать карту с определением на ней Адреса с помощью Геокодера, дабавил метку, но она почему то стала передивагться вместе с мышкой.

Получилось у меня только с помощью myMap.geoObjects.add(res.geoObjects);

Вопрос: Можно ли к функции myMap.geoObjects.add(res.geoObjects); прикрутить свою иконку? 

<script src=\"http://api-maps.yandex.ru/2.0/?load=package.full&lang=ru-RU\" type=\"text/javascript\"></script>

<script type=\"text/javascript\">

ymaps.ready(init);

function init() {

    ymaps.geocode('$f_address', { results: 1 }).then(function (res) {

        var firstGeoObject = res.geoObjects.get(0),       

            myMap = new ymaps.Map('map', {

                center: firstGeoObject.geometry.getCoordinates(),

                zoom: ".($f_mash ? $f_mash : "10").",

                behaviors: ['default', 'scrollZoom']

            });

       myMap.controls

                 .add('zoomControl')

                 .add('typeSelector')

                 .add('mapTools')

 .add(new ymaps.control.ScaleLine())

  .add(new ymaps.control.MiniMap({

            }));

        myMap.geoObjects.add(res.geoObjects);

    }, function (err) {

        alert(err.message);

    });

}

    </script>

 

6 комментариев
Подписаться на комментарии к посту

res.geoObjects.options.set('iconImageHref', iconURL);


или можно сразу коллекции myMap.geoObjects задать iconImageHref. делается аналогично.

Спасибо, разобрался.

То, есть myMap.geoObjects.add(res.geoObjects, 'iconImageHref', '/img/insi/pipmap.gif'); вот так? если как вы говорите можно сделать иначе "или можно сразу коллекции myMap.geoObjects задать iconImageHref. делается аналогично."

И еще вопросик. Странно, но иконка почему то, сплющенная и когда делаешь уменьшение (масштабирование, крутя колесико мыши), то иконка почему то, сдвигается с места... уходит куда-то право.

То, есть myMap.geoObjects.add(res.geoObjects, 'iconImageHref', '/img/insi/pipmap.gif');


Нет, вот так:
myMap.geoObjects.options.set('iconImageHref', iconURL);
Тут зависит только от того, хотите ли вы, чтобы все иконки на карте были одинаковые. В первом варианте (res.geoObjects) назначаете иконки только для меток, полученных от геокодера, во втором же (myMap.geoObjects) для всех на карте.

И еще вопросик. Странно, но иконка почему то, сплющенная


Попробуйте вручную прописать размеры иконки, например:
res.geoObjects.options.set('iconImageSize', [32, 32]);

Большое спасибо, что все четко и внятно разжували, благодарю. :)