openlayers第三天,多边形查询
建议先看一下官网的demo
demo里面包含了点、线、多边形和圆,自己再额外加上一个框选,基本就差不错了。
核心代码:
var draw; // global so we can remove it later
function addInteraction() {
var value = typeSelect.value;
if (value !== 'None') {
draw = new ol.interaction.Draw({
source: source,
type: typeSelect.value
});
map.addInteraction(draw);
}
}
通过更改ol.interaction.Draw
中type
的值,就可以画出不同的形状。
如果想要绘制矩形框,那么就需要做一点改动,同样的,先看一下官网的demo
核心代码:
if (value === 'Box') {
value = 'Circle';
geometryFunction = ol.interaction.Draw.createBox();
}
draw = new ol.interaction.Draw({
source: source,
type: value,
geometryFunction: geometryFunction
});