Клуб API Карт

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

Пост в архиве.

Не могу понять как правильно записать

    <script>

ymaps.ready(init);
    function init () {
        console.log('init map');
    myMap = new ymaps.Map('map', {
            center: [30.33156757128903,53.894348372064414],
            zoom: 10,
            controls: ["zoomControl"]
        }, {
            searchControlProvider: 'yandex#search'
        }),
        objectManager = new ymaps.ObjectManager({
            clusterize: true,
            gridSize: 32
        });
    objectManager.objects.options.set('preset', 'islands#greenDotIcon');
    objectManager.clusters.options.set('preset', 'islands#darkgreenClusterIcons');
    myMap.geoObjects.add(objectManager);
}
    </script>

 

Далее:

        $.ajax({
        url: "/map/getGeoOnPrep.php",
        method:'POST'
                }).done(function(data) {
                // здесь нужно удалить старые метки и создать новые

                //objectManager.removeAll(); не помогают
               
                objectManager.add(data);
                });

10 комментариев

 

                // здесь нужно удалить старые метки и создать новые

                //geoObjects.refresh(); и removeAll() не помогают

а что такое geoObjects? 

 

geoObjects Коллекция геообъектов карты, с примера на сайте брал

я удалил и вместо нее вписал objectManager.removeAll()

но не работает

если в браузере в консоле пишу objectManager.removeAll() - удаляет кластер, но метки остаются.

clusterer.remove вроде нужно, но как к нему добратся - запутанное api

 

 

objectManager.removeAll() должен работать

Можно ссылку?

ссылку на ваш код.

вот сделал пример практически как и у меня, только у меня Ajax подгружает данные (но разницы нету)

Строчка 28.  objectManager.add(data2); // вот здесь нужно прописать, чтобы удалялась коллекция и отобразились новые данные

 Пример jsfiddle

1. По умолчанию подгружаются данные.

2. Но когда мы кликаем на запись в таблице, то данные должны быть другие.

Ну вроде удаляются же
http://jsfiddle.net/HJema/213/

прошу прощения)

с моими данными на карте работает не верно

 Пример

 P.S. есть идея может из-за id = 0 сейчас проверю

да плин)) забыл добавить id

Спасибо за помощь, так бы не обратил внимание

Максим Захаров
12 февраля 2019, 08:38
Я перед тем как загрузить новые метки, использовал this.myMap.geoObjects.removeAll(); и мне помогло. Спасибо beOneBy