在带有 vectorContext 的 postCompose 事件上使用 'drawPolygonGeometry()'
Use of 'drawPolygonGeometry()' on postCompose event with vectorContext
我正在尝试在 'postcompose' 调用的事件中围绕每种几何形状(可以是每种 ol.geom 类型:点、多边形等)绘制圆。这样做的目的是在选择某个功能时创建动画。
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);
}
方法
drawPolygonGeometry( {ol.geom.Polygon} , {ol.feature} )
无效。但是,当我使用
方法时它起作用了
drawPointGeometry({ol.geom.Point}, {ol.feature} )
即使flashGeom的类型是
ol.geom.我刚刚从一定范围内构建的多边形。我不想使用此方法,因为可以接收多边形的范围,并且它为多边形的每个点设置动画...
最后在源码中分析了OL3中drawPolygonGeometry的工作方式,才发现原来需要用这个方法来应用样式:
vectorContext.setFillStrokeStyle(imageStyle.getFill(),
imageStyle.getStroke());
DrawPointGeometry 和 drawPolygonGeometry 没有使用相同的样式实例。
我正在尝试在 'postcompose' 调用的事件中围绕每种几何形状(可以是每种 ol.geom 类型:点、多边形等)绘制圆。这样做的目的是在选择某个功能时创建动画。
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);
}
方法
drawPolygonGeometry( {ol.geom.Polygon} , {ol.feature} )
无效。但是,当我使用
方法时它起作用了drawPointGeometry({ol.geom.Point}, {ol.feature} )
即使flashGeom的类型是 ol.geom.我刚刚从一定范围内构建的多边形。我不想使用此方法,因为可以接收多边形的范围,并且它为多边形的每个点设置动画...
最后在源码中分析了OL3中drawPolygonGeometry的工作方式,才发现原来需要用这个方法来应用样式:
vectorContext.setFillStrokeStyle(imageStyle.getFill(),
imageStyle.getStroke());
DrawPointGeometry 和 drawPolygonGeometry 没有使用相同的样式实例。