Клуб API Карт

Сплющенные иконки меток подключённого KML

cycler
7 января 2016, 00:11

Никак не получается задать размер иконкам подключённого KML.

Родные иконки имеют размер 32*37px, однако выводятся с размерами наоборот - 37 на 32.

Я перепробовал все способы ручного задания размеров меток, однако они совершенно ни на что не влияют.

res.geoObjects.options.set('iconImageSize', [32, 37]);
collection[id] = new ymaps.GeoObjectCollection({}, {
            iconImageSize: [32, 37]
        });

 


Рабочий пример здесь - http://kirillaristov.com/map/yandex/2014+-camps.kml
KML - http://kirillaristov.com/kml-files/2014+-camps.kml
файлы иконок - http://kirillaristov.com/kml-files/files/

Пожалуйста, подскажите, что я делаю не так?

Аналогичное поведение было в версии api 2.0 (сейчас 2.1), раньше решал заданием правильных размеров через css и !important.
3 комментария

Перепутана ширина с высотой.

https://yadi.sk/i/YsLiw4tQmicmx

 

Назначение опций на коллекцию, не перекроет опции элементов коллекции (у них выше приоритет)

Можно использовать geoQuery для смены этих опций, он всегда назначает их на уровне геообъектов

 

PS: Похоже на ошибку в АПИ.

Пока не исправлена – выставлять iconImageSize через geoQuery

Спасибо за совет, всё получилось.

function onGeoXmlLoad (res) {
    collection = new ymaps.GeoObjectCollection();
    collection.add(res.geoObjects);
           
    myMap.geoObjects.add(collection);
    myMap.setBounds(collection.getBounds());       
   
    //исправление ошибки перестановки ширина-высота в api
    ymaps.geoQuery(myMap.geoObjects).setOptions({iconImageSize: [32, 37]});
}

 

Как разработчики api узнают об ошибке? Есть ли что-то вроде багтрекера?

Узнают от меня, я уже добавил багу. Исправление выйдет в 2.1.35