Клуб API Карт

Как поменять вид метки + размер кнопки в api 2.1?

mr.aap
26 марта 2015, 15:59

1) Как поменять вид метки

 

Вот часть кода:

ymaps.geoXml.load('url').then(function (res) {

res.geoObjects.each(function (geoObject) {

geoObjects.options.set({preset : 'twirl#trainIcon'});

myMap.geoObjects.add(res.geoObjects);

}


Метка не меняется?!


2) Возможно ли настроить произвольную ширину кнопки?


var but1 = new ymaps.control.Button({

    data: {

      content: "Привет",

      image: "1.png",

      title: 'Привет'

    },

    options: {float: 'none', position: {top: 5, left: 5},

    maxWidth: 300

    }

});

 

myMap.controls.add(but1);

 

 

var but2 = new ymaps.control.Button({

    data: {

      content: "УРАААААААААААААА-ААААА-А",

      image: "2.png",

      title: 'УРА'

    },

    options: {float: 'none', position: {top: 35, left: 5},

    maxWidth: 300

    }

});

myMap.controls.add(but2);


Кнопка "Привет" - короткая, а "УРАААААААААААААА-ААААА-А" - длинная, а надо чтобы "Привет" была такой же длины как УРА?

 

 

 



4 комментария
1. опечатка в цикле geoObject[s]
2. Как вариант, после добавления кнопки на карту
button.getLayout().then(function (layout) {
        var element = layout.getElement().firstChild.style;
        element.width = "500px";
        element.maxWidth = null;
    });

Но вообще правильно написать свой макет кнопки.

Спасибо, помогло

п.1 да точно опечатка, но еще и twirl из API 2.0, а должен быть islands

вот так работает 

ymaps.geoXml.load('url').then(function (res) {

     res.geoObjects.each(function (geoObjects) {

geoObjects.options.set({preset : 'islands#yellowDotIcon'});

 

});


п.2 по вашему примеру работает отлично, спасибо, а кнопка нужна стандартная просто хотелось "красивости" )))

вот что пока получилось, в сыром виде правда :-D

 делаем карту для удобства работы 

Ещё бы с кластерами разобраться, пока в тупике :-(