Задать вопрос

Как удалять маркеры с Yandex Map API v3?

Есть Асинхронная функция инициализации карты. В ней маркеры добавляются из других мест с помощью кастомных событий. Но вот удаляться маркер не хочет. Подскажите, пожалуйста, как это сделать правильно.

async function initMap() {
    await ymaps3.ready;
    const {
        YMap,
        YMapDefaultSchemeLayer,
        YMapDefaultFeaturesLayer,
        YMapMarker,
        YMapFeature,
        YMapControls
    } = ymaps3

    const markers = {};
    const map = new YMap(
        document.getElementById('mainMap'),
        {
            location: {
                center: [37.6080239, 55.7644929],
                zoom: 15
            },
            behaviors: ['drag', 'scrollZoom', 'pinchZoom', 'dblClick'],
            zoomStrategy: 'zoomToPointer'
        }
    );
    map.addChild(new YMapDefaultSchemeLayer());
    map.addChild(new YMapDefaultFeaturesLayer({zIndex: 1800}));

    document.addEventListener('add-marker', function (event) {
        const marker = new YMapMarker({})
        map.addChild(marker);
        markers[event.detail.id] = marker;
    });

    document.addEventListener('delete-marker', function (event) {
        let id = event.detail.id;
        map.removeChild(markers[id]);
    });

}
  • Вопрос задан
  • 41 просмотр
Подписаться 1 Простой 1 комментарий
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы