@blackbb

Как обновлять балуны на яндекс карте динамически?

Сайт на modx, использую сниппет ajax фильтра https://webdesign-master.ru/blog/modx/2016-05-03-m.... Фильтр работает и фильтрует объекты(в шапке сайте есть идентичный, но объкты выводятся просот в блок ниже), пока его отключили. Но появилась задача этот же фильтр настроить под яндекс карты, фильтровать выводимые на нее объекты. Выводит всегда все объекты, при любых параметрах фильтра, я так понимаю, что нужно как то перерисовывать яндекс карту с новыми данными, иначе она не удаляет балуну и метки, хотя могу ошибаться. Но как это сделать не пойму. На фрилансе помощи найти не смог. Вот ссылка на сайт arenda.shapovalovds.pp.ua/arendnyij-biznes/arendator там внизу интерактивная карта с фильтром.
Вот код карты:
ymaps.ready(init);
function init() {
    var myMap = new ymaps.Map('map', {
        center: [55.753994, 37.622093],
        zoom: 7
    });
    [[!catalogFilterMap?
      &tpl=`tpl_map_catalogFilter`
      &parents=`16,13,17`
 &fields=`obj_info_one_address,obj_info_one_subway,obj_info_one_plos,obj_info_one_invest,obj_info_one_income,obj_info_one_price,garagethree,garagetwo,garage,type_obj`
    ]]
}

Вот чанк tpl_map_catalogFilter:
ymaps.geocode('[[+tv.obj_info_one_address]]', {
    results: '999'
}).then(function (res) {
        // Выбираем первый результат геокодирования.
        var firstGeoObject = res.geoObjects.get(0),
            // Координаты геообъекта.
            coords = firstGeoObject.geometry.getCoordinates(),
            // Область видимости геообъекта.
            bounds = firstGeoObject.properties.get('boundedBy');
        firstGeoObject.options.set('preset', 'islands#darkBlueDotIconWithCaption');
        // Получаем строку с адресом и выводим в иконке геообъекта.
        firstGeoObject.properties.set('iconCaption', firstGeoObject.getAddressLine());
     
         var myPlacemark = new ymaps.Placemark(coords, {
         iconContent: '[[+pagetitle]]',
         iconCaption: '[[+pagetitle]]',
         hintContent: '[[+tv.type_obj]]',
         balloonContentHeader: '<a id="asgahf" href="[[~[[+id]]]]">[[+pagetitle]]</a> ',
         balloonContentBody: '[[+tv.obj_info_one_address]]',
         balloonContentFooter: '<div class="d-none">[[+tv.type_obj]] |	[[+tv.obj_info_one_subway]] | [[+tv.obj_info_one_income]] | [[+tv.obj_info_one_price]]</div>',
         balloonContent: ''
         }, {
         preset: 'islands#circleDotIcon',
         iconColor: '#578ed8',
         });
         myMap.geoObjects.add(myPlacemark);
         myMap.behaviors.disable('scrollZoom') 
         
    });

Сам фильтр использую этот https://webdesign-master.ru/blog/modx/2016-05-03-m....
Помогите разобраться с вопросом, готов заплатить.
  • Вопрос задан
  • 189 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы