YandexMap изменение размера метки в зависимости от зума

На карте установлены метки картинками

            var map = new ymaps.Map('map', {
                center: [centerCoord[0], centerCoord[1]],
                zoom: 3,
                type: null,
                controls: ['zoomControl']
            }, {
                minZoom: 3,
            });
            map.controls.get('zoomControl').options.set({
                size: 'small'
            });

 myPlacemark = new ymaps.Placemark([projCoord[0], projCoord[1]], {
                            hintContent: allProjects[key]['ourprojects_title'],
                            balloonContent: allProjects[key]['ourprojects_adres']
                        }, {
                            iconLayout: 'default#image',
                            iconImageHref: '/images/logo.png',
                            iconImageSize: [12, 12],
                            iconImageOffset: [-5, -10]
                        });
map.geoObjects.add(myPlacemark)

Как сделать чтобы при приближении карты размер иконок увеличивался? Сейчас при зуме они всегда остаются размером 12, а нужно например, чтобы на каждое увеличение зума размер иконок увеличивался на 1


Ответы (2 шт):

Автор решения: YaCor'

В примерах Яндекса есть подходящий вариант - Настройка размера метки на разных зумах. Если у вас обычная метка, то надо завязаться на размер зума через множитель, например. Изменять можно отслеживая изменение карты. Не забудьте добавить офсет, если он нужен:

myMap.events.add('boundschange', function () {
    size = myMap.getZoom()
    myPlacemark.options.set("iconImageSize", [size*6, size*8])
    myPlacemark.options.set("iconImageOffset", [-size*3, -size*4])
});
→ Ссылка
Автор решения: Игорь Витальевич

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

var myPlacemark = {
                    type: 'FeatureCollection',
                    features: [{
                            type: 'Feature',
                            id: allProjects[key]['ourprojects_id'],
                            geometry: {
                                type: 'Point',
                                coordinates: [projCoord[0], projCoord[1]]
                            },
                            properties: {
                                hintContent: allProjects[key]['ourprojects_title'],
                                balloonContent: allProjects[key]['ourprojects_adres']
                            },
                            options: {
                                iconLayout: 'default#image',
                                iconImageHref: '/images/logo.png',
                                iconImageSize: [14, 14],
                                iconImageOffset: [-5, -10]
                            }
                        }, //и т.д. ...]
                };

После чего добавляю их на карту через ObjectManager:

var om = new ymaps.ObjectManager({
                    clusterize: false,
                    gridSize: 32,
                    clusterDisableClickZoom: false
                });
                om.add(myPlacemark.features);
                map.geoObjects.add(om);

Дальше на карту вешается событие зума и выполняется функция scaleSizeWithZoom, где идет перебор объектов и изменяется их размер в зависимости от зума:

function scaleSizeWithZoom(e) {
                    size = map.getZoom()
                    om.objects.each(function(object) {
                        om.objects.setObjectOptions(object.id, {
                            iconImageSize: [size * 6, size * 6]
                        });
                    })
                }

                map.events.add('boundschange', scaleSizeWithZoom);
→ Ссылка