openlayers绘制矩形
时间: 2023-07-22 07:27:01 浏览: 178
OpenLayers可以通过绘制控件(Draw)来绘制矩形。以下是一个简单的示例代码:
```javascript
var map = new ol.Map({
// ...
});
var draw = new ol.interaction.Draw({
source: vectorSource,
type: 'Circle'
});
map.addInteraction(draw);
draw.on('drawend', function(event) {
var feature = event.feature;
var geometry = feature.getGeometry();
var extent = geometry.getExtent();
// 创建矩形Feature
var rectFeature = new ol.Feature({
geometry: new ol.geom.Polygon.fromExtent(extent)
});
// 将矩形Feature添加到矢量图层
vectorSource.addFeature(rectFeature);
});
```
在上面的示例代码中,我们创建了一个绘制控件(Draw),类型为圆形。当绘制结束后,我们可以获取绘制的圆形Feature的几何信息,根据几何信息创建一个矩形Feature,并将其添加到矢量图层中。
需要注意的是,我们创建的矩形Feature的几何信息是从绘制的圆形Feature的几何信息中获取的,因此需要将圆形转换为矩形。在示例代码中,我们使用了`ol.geom.Polygon.fromExtent`方法将圆形转换为矩形。
阅读全文