Доброго времени, уважаемые форумчане!
Подскажите можно ли как то реализовать "refresh" яндекс карты или меток на ней по клику/смены параметра фильтра?
Есть код, картая яндекса + метки выводятся через "посты" а координаты на них через ACF. Все выводится как надо, при смене фильтра "посты" фильтруются как надо, но вот метки ни как не хотят.
Я понимаю что JS начинает читаться при загрузке страницы и его потом ни как не изменить, но вот как сделать этот "reinit" карты при клике к примеру на чекбокс в фильтре чтобы метки заново "собрались" на карте исходя из "нового" кода
Использую эту библиотеку api-maps.yandex.ru/2.1/?lang=ru_RU
Код карты и меток
<script>
ymaps.ready(init);
function init() {
var myMap = new ymaps.Map("map", {
center: [59, 34],
zoom: 5,
controls: ['zoomControl'],
}, {
//searchControlProvider: 'yandex#search'
});
myMap.behaviors.disable('scrollZoom');
myMap.events.add('click', function(e) {
myMap.balloon.close();
});
<?php if (have_posts()): ?>
<?php while (have_posts()): the_post(); ?>
// Метка 1 - пост
<?php if ( have_rows( 'coordinates_area' ) ) : ?>
<?php while ( have_rows( 'coordinates_area' ) ) : the_row(); ?>
var myPlacemark = new ymaps.Placemark([<?php the_sub_field( 'latitude_area' ); ?>, <?php the_sub_field( 'longitude_area' ); ?>], {
// Изображение
//balloonContentHeader: '<img class="m-img" src="/thumbs/dom-po-proektu-vestfoll-iz.jpg">',
// Заголовок
//balloonContentBody: '<div class="m-title">Дом по проекту</div>',
// Ссылка
//balloonContentFooter: '<a class="m-link" href="/agalatovo/">Посмотреть</a>',
// Подсказака (при наведении)
hintContent: 'Дом по проекту',
}, {
preset: 'islands#darkGreenDotIcon',
balloonMaxWidth: 300,
});
myMap.geoObjects.add(myPlacemark);
<?php endwhile; ?>
<?php endif; ?>
// #Метка 1 - пост
<?php endwhile; ?>
<?php else: ?>
<?php endif; ?>
}
</script>
Также пробую удалять метки, потом их добавляю, но добавляется всего лишь одна.
<script>
jQuery('.checkbox').click(function(){
myMap.geoObjects.removeAll();
myMap.geoObjects.add(myPlacemark);
});
</script>