我找到了一个绘制多边形的函数,但是在绘制第二个多边形时我需要它,它总是会删除前一个多边形,因为我的地图上必须始终有一个多边形
<!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/
答案 0 :(得分:1)
drawstart
事件。clear
时使用drawstart
作为来源。您可以通过source
的{{1}}访问地图上的功能
将您的示例放在小提琴上,您的功能包含在变量layer
中。而且,当您看到代码一段时间后,vector
互动活动就会发生drawend
事件,您也可以猜到draw
事件。
drawstart
当您开始绘图时,您想要的是没有功能显示,因此您可以在// just like `drawend`
draw.on('drawstart', function(e) {
});
drawstart