How to implement clustering in yandex.map bitrix?

At Bitrix is a standard component bitrix:map.yandex.view, I put your icons.
It remains to configure clustering.
Read it
But there is a previous version of the comp. so to me it doesn't fit.

Code shows that the new component clustering is enabled.
However, it is not clear how to enable it?
script.js ->
if (!window.BX_YMapAddPlacemark)
{
 window.BX_YMapAddPlacemark = function(map, arPlacemark)
{
 if (null == map)
 return false;

 if(!arPlacemark.LAT || !arPlacemark.LON)
 return false;

 var props = {};
 if (null != arPlacemark.TEXT && arPlacemark.TEXT.length > 0)
{
 var value_view = ";

 if (arPlacemark.TEXT.length > 0)
{
 var rnpos = arPlacemark.TEXT.indexOf("\n");
 value_view = rnpos <= 0 ? arPlacemark.TEXT : arPlacemark.TEXT.substring(0, rnpos);
}

 props.balloonContent = arPlacemark.TEXT.replace(/\n/g, '<br>');
 props.hintContent = value_view;
}

 var obPlacemark = new ymaps.Placemark(
 [arPlacemark.LAT, arPlacemark.LON],
props
{
 balloonCloseButton: true,
 iconImageHref:"/places/marker_sw_small.png" 
}

);

map.geoObjects.add(obPlacemark);

 return obPlacemark;
}
}

if (!window.BX_YMapAddPolyline)
{
 window.BX_YMapAddPolyline = function(map, arPolyline)
{
 if (null == map)
 return false;

 if (null != arPolyline.POINTS && arPolyline.POINTS.length > 1)
{
 var arPoints = [];
 for (var i = 0, len = arPolyline.POINTS.length; i < len; i++)
{
 arPoints.push([arPolyline.POINTS[i].LAT, arPolyline.POINTS[i].LON]);
}
}
else
{
 return false;
}

 var obParams = {clickable: true};
 if (null != arPolyline.STYLE)
{
 obParams.strokeColor = arPolyline.STYLE.strokeColor;
 obParams.strokeWidth = arPolyline.STYLE.strokeWidth;
}
 var obPolyline = new ymaps.Polyline(
 arPoints, {balloonContent: arPolyline.TITLE}, obParams
);

map.geoObjects.add(obPolyline);

 return obPolyline;
}
}


template.php with built-in clustering - >

<script type="text/javascript">
function BX_SetPlacemarks_<?echo $arParams['MAP_ID']?>(map)
{
<?if(count($arResult['POSITION']['PLACEMARKS'])>1):?>
 //clusterer = new ymaps.Clusterer();
//clusterer.add(arObjects.PLACEMARKS);
//map.geoObjects.add(clusterer);
<?endif;?>
 if(typeof window["BX_YMapAddPlacemark"] != 'function')
{
 /* If the component's result was cached as html,
 * script.js will not been loaded next time.
 * let's do it manualy.
*/

 (function(d, s, id)
{
 var js, bx_ym = d.getElementsByTagName(s)[0];
 if (d.getElementById(id)) return;
 js = d.createElement(s); js.id = id;
 js.src = "<?=$templateFolder.'/script.js'?>";
 bx_ym.parentNode.insertBefore(js, bx_ym);
 }(document, 'script', 'bx-ya-map-js'));

 var ymWaitIntervalId = setInterval( function(){
 if(typeof window["BX_YMapAddPlacemark"] == 'function')
{
 BX_SetPlacemarks_<?echo $arParams['MAP_ID']?>(map);
clearInterval(ymWaitIntervalId);
}
 }, 300
);

return;
}

 var arObjects = {PLACEMARKS:[],POLYLINES:[]};
<?
 if (is_array($arResult['POSITION']['PLACEMARKS']) && ($cnt = count($arResult['POSITION']['PLACEMARKS']))):
 for($i = 0; $i < $cnt; $i++):
?>
 arObjects.PLACEMARKS[arObjects.PLACEMARKS.length] = BX_YMapAddPlacemark(map <?echo CUtil::PhpToJsObject($arResult['POSITION']['PLACEMARKS'][$i])?>);
<?
endfor;
endif;
 if (is_array($arResult['POSITION']['POLYLINES']) && ($cnt = count($arResult['POSITION']['POLYLINES']))):
 for($i = 0; $i < $cnt; $i++):
?>
 arObjects.POLYLINES[arObjects.POLYLINES.length] = BX_YMapAddPolyline(map <?echo CUtil::PhpToJsObject($arResult['POSITION']['POLYLINES'][$i])?>);
<?
endfor;
endif;

 if ($arParams['ONMAPREADY']):
?>
 if (window.<?echo $arParams['ONMAPREADY']?>)
{
 window.<?echo $arParams['ONMAPREADY']?>(map, arObjects);
}
<?
endif;
?>
}
</script>
July 12th 19 at 17:10
1 answer
July 12th 19 at 17:12
Solution
Carefully digging in that decision, all the rules worked.

Find more questions by tags 1C-Bitrix