Как ограничить количество полигонов в слое?

#javascript #openlayers #polygon

Вопрос:

Мой код в настоящее время позволяет пользователю иметь возможность создавать много полигонов одновременно. Я бы хотел, чтобы вместо этого он стирал предыдущий вектор каждый раз, когда пользователь решает создать новый.

 let drawSource = new VectorSource({wrapX: false}); 

let drawLayer = new VectorLayer({source : drawSource,})
this.map.addLayer(drawLayer);

let draw = new Draw({
  source : drawSource,
  type : GeometryType.POLYGON,
  style : new Style({
    stroke: new Stroke({
          color: "#f00",
          width: 1,
        }),
    fill: new Fill({
      color: "#300",
    })
  })
});
this.map.addInteraction(draw)
 

Ответ №1:

Очистите источник при запуске нового чертежа

 draw.on('drawstart', function() {
  drawSource.clear();
});