Есть массив данных, который получаю и тут же в mounted() вывожу маркеры и попапы по этому массиву. Если меняется этот массив( фильтрую), то как заново инициализировать эти маркеры и попапы (ну или отсеять лишние)?
mounted() {
this.markers = DG.featureGroup();
this.popups = DG.featureGroup();
this.map = DG.map("map", {
center: [54.98, 82.89],
zoom: 13,
minZoom: 7,
zoomControl: false,
fullscreenControl: false
});
this.dataRequest.then(response => {
this.getFilterRooms.forEach(residential => {
let myDivIcon = DG.divIcon({
iconSize: [30, 30],
className: "marker-custom",
html: this.setMiniMarker(residential)
});
this.popupMap = DG.popup({
className: "test-name",
closeButton: false,
offset: DG.point(0, 1),
setZoomMarker: false
}).setContent(this.setPopupMarker(residential));
this.coordinates = [residential.latitude, residential.longitude];
DG.marker(this.coordinates, { icon: myDivIcon })
.addTo(this.markers)
.bindPopup(this.popupMap);
});
this.markers.addTo(this.map);
this.map.fitBounds(this.markers.getBounds());
this.markers.on("click", event => {
//при наведении.mouseover, click на маркер
if (event.originalEvent.target.closest("[data-id]")) {
let residentialId = Number(
event.originalEvent.target.closest("[data-id]").dataset.id
);
this.setResidentialId(residentialId);
}
});