Клуб API Карт

Поиск вхождения точек в уже отрисованые точки на карте и их удаление

tatardamir1987
28 октября 2015, 11:20

Как осуществить проверку на вхождение элементов в коллекцию при добавлении ещё одной коллекции? объекты которые отрисованы на карте, при добавлении новой порции объектов проверять есть ли уже такие объекты на карте или нет, если есть то не отрисовывать их заново, а добавлять только те которых ещё нет на карте.

 

 1 - // myGeoObjects - массив объектов которые вывожу при первом разе,кластеризую и произвожу поиск в круге

  map.geoObjects.add(circle);

  map.geoObjects.add(clusterer);

  var result = ymaps.geoQuery(myGeoObjects);

  result.searchInside(circle).addTo(clusterer);

 

 2 - //при изменений событий на карте, получаю координаты заданной просматриваемой области и отправляю запрос ajax для выборки по заданным координатам и получаю массив новых объектов, после чего вызываю $.onBoundChange(data, ARRAY); передаю data - объекты с сервера, ARRAY- хочу передать массив отрисованных уже элементов?

 

  map.events.add('boundschange', function () {

               var visibleObjects = result.searchInside(map).addTo(clusterer);

                var coords = map.getBounds();

                var theData = JSON.stringify(coords);

                $.ajax({ .....

                       success: function (data) {

                        $.onBoundChange(data, myGeoObjects);

                        ...........

                    }

                });

               result.remove(visibleObjects).removeFrom(clusterer);

    });

 

3 - // $.onBoundChange(data, ARRAY) - отработка функции, как произвести проверку массива точек data полученных с сервера на вхождение в массив отрисованных уже на карте точек массива ARRAY и удалить все точки из data которые уже есть в ARRAY

 map.geoObjects.add(clusterer);

 var res = ymaps.geoQuery(data);

 res.searchIntersect(map).addTo(clusterer);

2 комментария
Подписаться на комментарии к посту

Используйте javascript тип Object для хранения своих геообъектов чтобы избежать дубликатов

Спасибо;-)