Я использую gmap для отображения полигонов.
После запуска моего компонента отображается карта с полигоном, построенным из хранилища GEOJSON в базе данных. У меня нет проблем с этим. Каждый нарисованный многоугольник показан сверху на том, который идет из базы данных. Я разрешаю Менеджеру рисования и пользователям рисовать полигоны.
Итак, для этого у меня есть:
drawingManager.setMap(this.map);
google.maps.event.addListener(drawingManager, 'overlaycomplete', event => {
this.map.data.add(new google.maps.Data.Feature({
geometry: new google.maps.Data.Polygon([event.overlay.getPath().getArray()])
}));
this.map.data.toGeoJson((obj) => {
this.GEOJson = obj;
console.log(JSON.stringify(this.GEOJson));
});
});
Я добавляю каждый новый многоугольник в слой данных карты и соответствующим образом изменяю свой GEOJson. Для удаления полигонов я написал функцию:
deletePolygon() {
this.map.data.forEach(feature => {
this.map.data.remove(feature);
});
this.GEOJson.features = [];
console.log(JSON.stringify(this.GEOJson)); //GEOJson features are deleted.
}
Моя проблема в том, что нарисованные полигоны по-прежнему отображаются. Тот, что поступил из базы данных, является единственным, который удален с карты.
Любая идея или реко будет очень ценной здесь.
С наилучшими пожеланиями