Всем привет!
Не могу понять, как вывести в шаблон иконки кластера вычисленную минимальную цену объектов из кластера. Есть
пример , который работает с placemark, но при использовании objectManager этот вариант не подходит. Вот пример кода:
myMap.events.add('boundschange', function (e) {
var zoom = myMap.getZoom();
//console.log(zoom);
if(zoom >= 15) {
objectManager.clusters.options.set({
clusterIconContentLayout: ymaps.templateLayoutFactory.createClass(
'<div class="_claster_icon claster_icon_new custom_placemark--claster"><div><span>{{ properties.geoObjects.length }}</span><span class="min_price_claster"> от {{ properties.geoObjects|minPrice }}</span></div></div>'),
});
} else {
objectManager.clusters.options.set({
clusterIconContentLayout: ymaps.templateLayoutFactory.createClass('{{ properties.geoObjects.length }}'),
clusterIcons: [{
href: 'vendor/img/svg/pin-circle-cluster-green3.svg',
size: [24,24],
offset: [-12, -12]
}]
});
}
});
в плейсхолдере {{ properties.geoObjects|minPrice }} вызываю модификатор minPrice. minPrice - функция, описанная ниже по коду:
var minPrice = function (data, dateString, filterValue) {
return 123456;
};
ymaps.template.filtersStorage.add('minPrice');
по идее, в clusterIconContentLayout должно возвращаться "123456", но по факту пусто. Если написать так {{ properties.geoObjects|default : "123456"}}, то всё нормально выводится. Но default - это встроенный модификатор. Получается, что скрипт не может найти модификатор minPrice, хотя он добавляется в хранилище строкой ymaps.template.filtersStorage.add('minPrice'); Так понимаю, что этот вариант добавления в хранилище шаблонов не работает с objectManager.
Подскажите, пожалуйста, каким образом можно ещё добавить кастомные обработчик содержимого шаблона кластера?
Заранее спасибо!