Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 22.09.2022, 13:06
Аватар для Diiim
Интересующийся
Отправить личное сообщение для Diiim Посмотреть профиль Найти все сообщения от Diiim
 
Регистрация: 07.03.2018
Сообщений: 20

Можно ли как то реализовать "refresh" яндекс карты или меток на ней по клику?
Доброго времени, уважаемые форумчане!

Подскажите можно ли как то реализовать "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>
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как можно реализовать данный эффект? Kair Элементы интерфейса 8 13.07.2013 10:02
Web-разработчик ищет работу Neumann Работа 30 24.05.2013 17:59
Как можно такое реализовать? Jquery & Ajax _M_ jQuery 5 16.07.2012 12:24
как можно реализовать вот такой эффект меню(http://allure-estetic.ru/)? Reasgo Библиотеки/Тулкиты/Фреймворки 3 09.10.2011 15:46
Как можно реализовать подоьное? 0931454574 Flash 7 02.06.2011 21:18