使用产品:iserver 9d 操作系统:win10 x64
数据类型: oracle 12c x64
问题详细描述:
var self = this;
if (this.source == null) {
this.source = new ol.source.Vector({ wrapX: false });
this.vector.setSource(this.source);
}
//绘制类型
var geometryFunction, maxPoints;
if (value === 'Circle') {
//圆形
geometryFunction = ol.interaction.Draw.createRegularPolygon(0);
} else if (value === 'Polygon') {
value = 'Polygon';
} else if (value === 'Rectangle') {
value = 'LineString';
maxPoints = 2;
geometryFunction = function (coordinates, geometry) {
if (!geometry) {
//多边形
geometry = new ol.geom.Polygon(null);
}
var start = coordinates[0];
var end = coordinates[1];
geometry.setCoordinates([
[start, [start[0], end[1]], end, [end[0], start[1]], start]
]);
return geometry;
};
}
//实例化交互绘制类对象并添加到地图容器中
var draw = this.draw = new ol.interaction.Draw({
//绘制层数据源
source: this.source,
/** @type {ol.geom.GeometryType}几何图形类型 */
type: value,
//几何信息变更时调用函数
geometryFunction: geometryFunction,
//最大点数
maxPoints: maxPoints
});
this.iMap.addInteraction(draw);
//点击查询的回调函数
draw.on('drawend', function (evt) {
self.drawControlback();
}, this);
地图上有若干在vector layer中的feature,我使用ol.interaction.Draw绘制了圆、长方形和多边形,如何查询绘制图形范围内的feature?(如何获取绘制图形的geometry、bound,使用范围查询还是sql查询?)
QQ:532594038 来自超图产品多年使用者,之前一版使用的是之前版本的supermap for javascript,现如今升级代码