Many balloons on Yandex maps

The city is affixed at the car dealership. And when choosing a car brand, a list with the addresses of car dealerships and the locations of car dealerships marked on the map should be shown on the map.
Here is the output of the addresses of car dealers, it is also put into Yandex maps according to the idea. But all places are scored in one Balloon.

<?
    $city=$_GET['city'];
    $id=$_GET['label_id'];
    if(!$_GET['label_id']) $id='ololo';
require_once($_SERVER['DOCUMENT_ROOT'].'/bitrix/modules/main/include/prolog_before.php');
    define("STOP_STATISTICS", true);
    if (CModule::IncludeModule('iblock'))
    {
        $dbRes = CIBlockElement::GetList(
            Array(
                "SORT"=>"ASC",
                "PROPERTY_PRIORITY"=>"ASC" 
            ),
            Array(
                'IBLOCK_ID' => 19,
                'PROPERTY_AUTO_LABELS' => $id,
                'PROPERTY_CITY' => $city
            ),
            false,
            false,
            Array('ID','NAME', 'PROPERTY_ADDRESS')
        );
while($arRes = $dbRes->GetNext())
{
  echo $city." ".$arRes['PROPERTY_ADDRESS_VALUE']."<br />";
}
        /*if ($arRes = $dbRes->Fetch())
        {
            echo "$city ";
            echo $arRes['PROPERTY_ADDRESS_VALUE'];
        }
        else
            ShowError('  '); */
    }
    else
        ShowError(':   .');
?>

And here is the output of the output on the page of the list of addresses and the cards themselves, respectively.

<?require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");
 $APPLICATION->SetTitle("    "); ?>
 <script src="https://api-maps.yandex.ru/1.1/index.xml?key=54654655454545-lG_XTjbQ=="
    type="text/javascript"></script>
 <script type="text/javascript">
     function get_mark() {
         var mark = $('#mark').val();
         var city = '';
         $('#search_result').load('/contacts/get_address.php?label_id=' + mark + '&city=' + city, {}, function () {
             var content = $('#search_result').html();
             var geocoder = new YMaps.Geocoder(content); // THIS! IS! !!!
             YMaps.Events.observe(geocoder, geocoder.Events.Load, function (geocoder) {
                 var placemark = new YMaps.Placemark(geocoder.get(0).getGeoPoint(), {
                     style: style
                 });
                 map.setCenter(geocoder.get(0).getGeoPoint(), 50);
                 placemark.description = "<span  class='underline'></span> br>: " + content;
                 map.addOverlay(placemark);
             });
         });
     }
 </script>
 <h1>   </h1>
 <?$APPLICATION->IncludeComponent("bitrix:breadcrumb", "agat1", array(
    "START_FROM" => "0",
    "PATH" => "",
    "SITE_ID" => "-"
    ),
    false
 );?>
 <div></div>
 <h2>  :</h2>
 <select class='select_auto_c' id='mark'>
     <?foreach($arResult["BRANDS"] as $key => $brand):?>
         <option value="<?=$brand["ID"]?>"
     <?if($brand["SELECTED"] == "Y") echo "selected";?>><?=$brand["NAME"]?></option>
     <?endforeach;?>
 </select>
 &nbsp;
 &nbsp;
 &nbsp;
 &nbsp;
 <a class="b b2" onClick="get_mark();"><em> </em></a>
 <br />
 <br />
 <div id='search_result'>*       ,        </div>
 <br />
 <div class='map_bg'>
 <div id="YMapsID" class> 
 <script type="text/javascript">
             window.onload = function () {
                 self.map = new YMaps.Map(document.getElementById("YMapsID"));
                 map.setCenter(new YMaps.GeoPoint(44.515942, 48.707793), 50);
                 map.addControl(new YMaps.SmallZoom());
                 map.addControl(new YMaps.ToolBar());
                 map.addControl(new YMaps.TypeControl());
                 function SampleBalloonLayout() {
                     this.element = YMaps.jQuery("<div class=\"ballooooon\"><div  class=\"content\"></div><div  class=\"close\">x</div> div  class=\"tail\"></div></div>");
                     this.close = this.element.find(".close");
                     this.content = this.element.find(".content");
                     //    
                     this.disableClose = function () {
                         this.close.unbind("click").css("display", "none");
                     };
                     //    
                     this.enableClose = function (callback) {
                         this.close.bind("click", callback).css("display", "");
                         return false;
                     };
                     //    
                     this.onAddToParent = function (parentNode) {
                         YMaps.jQuery(parentNode).append(this.element);
                     };
                     //    
                     this.onRemoveFromParent = function () {
                         this.element.remove();
                     };
                     //   
                     this.setContent = function (content) {
                         content.onAddToParent(this.content[0]);
                     };
                     //  
                     this.update = function () {};
                 };
                 self.sampleBalloonTemplate = new
                  YMaps.LayoutTemplate(SampleBalloonLayout);
                 self.style = new YMaps.Style();
                 style.balloonStyle = {
                     template: sampleBalloonTemplate
                 };
                 style.iconStyle = new YMaps.IconStyle();
                 style.iconStyle.href = "/images/pin.png";
                 style.iconStyle.size = new
                  YMaps.Point(24, 44);
                 style.iconStyle.offset = new
                  YMaps.Point(-12, -51);
                 style.iconStyle.shadow = new
                  YMaps.IconShadowStyle();
                 style.iconStyle.shadow.href = "/images/shadow_pin.png";
                 style.iconStyle.shadow.size = new
                  YMaps.Point(29, 35);
                 style.iconStyle.shadow.offset = new
                  YMaps.Point(-7, -38);
                 var geocoder = new YMaps.Geocoder(""); //
                 THIS!IS! !! !
                 YMaps.Events.observe(geocoder, geocoder.Events.Load, function (geocoder) {
                     map.setCenter(geocoder.get(0).getGeoPoint(), 50);
                 });
                 }
            </script>
 </div>
 </div>
 <?require($_SERVER["DOCUMENT_ROOT"]."/bitrix/footer.php")?>

Answer 1, authority 100%

try to organize the output through xml ?