【发布时间】:2020-10-01 19:10:09
【问题描述】:
This example 在按下按钮时显示绘图功能。它允许您选择不同的形状,例如点、线、多边形等。我想将类似的功能合并到我的项目中。但我不想选择形状,而是想按下按钮打开绘制点、线、多边形等功能。
我假设应该在 HTML 部分中插入按钮元素。
<select id="type">
<option value="Point">Point</option>
<option value="LineString">LineString</option>
<option value="Polygon">Polygon</option>
<option value="Circle">Circle</option>
<option value="None">None</option>
</select>
我尝试如下。
</div>
<div id="type">
<button value="Point">button1</button>
<button value="Polygon">button2</button>
<button value="LineString">button3</button>
</div>
在我看来,脚本也需要更改一些内容。
var typeSelect = document.getElementById('type');
var draw; // global so we can remove it later
function addInteraction() {
var value = typeSelect.value;
if (value !== 'None') {
draw = new Draw({
source: source,
type: typeSelect.value,
});
map.addInteraction(draw);
}
}
有人可以帮帮我吗?
【问题讨论】:
-
您需要为每个按钮设置一个点击监听器,它将设置您的
value变量而不是使用typeSelect.value -
代码中怎么写?在 html 中,我更改了按钮中的选择。
标签: button openlayers draw