2gis удалить маркер
есть у меня маркеры на карте, как сделать так при клике удалились какие то определенные? прошу помочь скрыть первые два маркера
DG.then(function() {
var map = DG.map('map', {
center: [54.98, 82.89],
zoom: 15
});
DG.marker([54.98, 82.89]).addTo(map).bindPopup('Я попап!');
DG.marker([54.97, 82.87]).addTo(map).bindPopup('Я попап!');
DG.marker([54.97, 82.86]).addTo(map).bindPopup('Я попап!');
});
Ответы (3 шт):
Автор решения: Инквизитор
→ Ссылка
Объявите маркеры через переменные, например, myMarker.
Удалите с помощью стандартного метода 2Gis API: myMarker.hide()
Автор решения: Sergey Bogdanov
→ Ссылка
Действительно, в руководстве API 2.0 не выделен метод позволяющий удалять маркеры - removeFrom().
Однако, есть пример, он закопан здесь.
Таким образом, решение, может быть таким:
Вне объекта DG создаете массив маркеров:
var markersArr = [];
Объекты-указатели на маркер записываете в массив markersArr:
var marker1,marker2;
marker1 = DG.marker([54.98, 82.89]).addTo...
marker2 = DG.marker([54.98, 82.89]).addTo...
markersArr.push(marker1 ,marker2);
После наступления нужного вам события, на каждом объекте маркера вызываете метод removeFrom() и очищаете массив:
markersArr.forEach(function(item, i, arr) {
item.removeFrom(map); // map - ваш объект карты
});
markersArr = [];
Автор решения: Да просто так мимо шел
→ Ссылка
создать
marker1 = DG.marker([54.98, 82.89]).addTo(map).bindPopup('Я попап!');
marker2 = DG.marker([54.97, 82.87]).addTo(map).bindPopup('Я попап!');
чтоб удалить
marker1.remove(map);
marker2.remove(map);