[英]How to delete a polygon after drawing the second polygon
我找到了一個繪制多邊形的函數,但是在繪制第二個多邊形時需要用到它,因為它在我的地圖上總是有一個多邊形,所以它將始終刪除先前的多邊形
<!DOCTYPE html>
<html>
<head>
<title>Draw Features</title>
<link rel="stylesheet" href="https://openlayers.org/en/v4.6.4/css/ol.css" type="text/css">
<!-- The line below is only needed for old environments like Internet Explorer and Android 4.x -->
<script src="https://cdn.polyfill.io/v2/polyfill.min.js?features=requestAnimationFrame,Element.prototype.classList,URL"></script>
<script src="https://openlayers.org/en/v4.6.4/build/ol.js"></script>
</head>
<body>
<div id="map" class="map"></div>
<form class="form-inline">
<label>Geometry type </label>
<select id="type">
<option value="Box">Box</option>
<option value="None">None</option>
</select>
</form>
其中包含所有html和javascript代碼http://jsfiddle.net/p_tsagkis/c4o4put8/
drawstart
事件。 drawstart
時使用clear
作為源。 您可以通過layer
source
訪問地圖上的要素。
通過在小提琴上的示例,您的特征包含在變量vector
。 而且,正如您在一段時間內看到的代碼一樣,在draw
交互中有一個drawend
事件,讓您猜測也有drawstart
事件。
// just like `drawend`
draw.on('drawstart', function(e) {
});
你想要的東西是沒有功能的顯示器,當你開始畫,所以你可以清除時,在源中的所有功能drawstart
// map.getLayers().getArray()[1] is your vector layer
draw.on('drawstart', function(e) {
map.getLayers().getArray()[1].getSource().clear();
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.