Очищение слоя маркеров JavaScript API Яндекс Карт 3.0 или удаление всех маркеров перед добавлением новых
В моём приложении есть Vue-компонент для карты, реализованной с помощью JavaScript API Яндекс Карт 3.0. Я не использую Vuefy module.
В компонент карты я передаю массив объектов с координатами и расставляю по этим координатам маркеры. Добавляю маркеры на карту таким образом:
markersProps.forEach((el) => {
const marker = new ymaps3.YMapMarker(
{
coordinates: el.coordinates,
properties: el.properties,
},
markerElement,
)
map.addChild(marker)
})
Когда массив markersProps меняется, я хочу удалить с карты все имеющиеся маркеры (или очистить слой карты, на который помещаются маркеры) и рисовать новые маркеры заново.
watch(
() => props.markerData,
(newMarkers, oldMarkers) => {
// здесь нужно очистить слой маркеров или удалить имеющиеся маркеры
addMarkers(newMarkers)
},
{ deep: true },
)
Я пробовал хранить добавленные на карту маркеры в отдельной переменной const addedMarkers = ref<YMapMarker[]>([]) и передавать их в map.removeChild(marker), но это не сработало (removeChild метод ожидает аргумент типа YMapEntity<unknown, {}>, а я пытаюсь передавать ему YMapMarker).
Так же я не нашёл в документации методов очищения дефолтных или кастомных слоёв.
Как я могу реализовать описанный функционал обновления маркеров на карте?