Openlayers 3 使用';DrawPolygongGeometry()和#x27;带vectorContext的postCompose事件
在一个名为“postcompose”的活动中,我试图围绕每种几何体(可以是每种ol.geom类型:点、多边形等)画一个圆。其目的是在选定某个特征时创建动画Openlayers 3 使用';DrawPolygongGeometry()和#x27;带vectorContext的postCompose事件,openlayers-3,Openlayers 3,在一个名为“postcompose”的活动中,我试图围绕每种几何体(可以是每种ol.geom类型:点、多边形等)画一个圆。其目的是在选定某个特征时创建动画 listenerKeys.push(map.on('postcompose', goog.bind(this.draw_, this, data))); this.draw_ = function(data, postComposeRender){ var extent = feature.getGeometry().get
listenerKeys.push(map.on('postcompose',
goog.bind(this.draw_, this, data)));
this.draw_ = function(data, postComposeRender){
var extent = feature.getGeometry().getExtent();
var flashGeom = new ol.geom.Polygon.fromExtent(extent);
var vectorContext = postComposeRender.vectorContext;
...//ANIMATION CODE TO GET THE RADIUS WITH THE ELAPSED TIME
var imageStyle = this.getStyleSquare_(radius, opacity);
vectorContext.setImageStyle(imageStyle);
vectorContext.drawPolygonGeometry(flashGeom, null);
}
方法
绘图多边形几何({ol.geom.Polygon},{ol.feature})
它不起作用。但是,当我使用该方法时,它是有效的
drawPointGeometry({ol.geom.Point},{ol.feature})
即使flashGeom的类型是
我刚刚从一个范围构建的ol.geom.Polygon。我不想使用此方法,因为可以接收多边形的范围,并为多边形的每个点设置动画…最后,在源代码中分析了OL3中DrawPolygongGeometry的工作方式后,我意识到我需要在以下情况之前使用此方法应用样式:
vectorContext.setFillStrokeStyle(imageStyle.getFill(),
imageStyle.getStroke());
DrawPointGeometry和DrawPolygongGeometry不使用相同的样式实例