Add ol.render.canvas.Render#drawFeature

This commit is contained in:
Tom Payne
2013-11-10 22:41:30 +01:00
parent 6052a8ef9f
commit d2806df92b

View File

@@ -118,6 +118,20 @@ ol.render.canvas.Render.prototype.drawRings_ =
};
/**
* @inheritDoc
*/
ol.render.canvas.Render.prototype.drawFeature = function(feature, style) {
this.setFillStrokeStyle(style.fill, style.stroke);
this.setImageStyle(style.image);
var geometry = feature.getGeometry();
var renderGeometry =
ol.render.canvas.Render.GEOMETRY_RENDERES_[geometry.getType()];
goog.asserts.assert(goog.isDef(renderGeometry));
renderGeometry.call(this, geometry);
};
/**
* @inheritDoc
*/
@@ -249,3 +263,20 @@ ol.render.canvas.Render.prototype.setFillStrokeStyle =
ol.render.canvas.Render.prototype.setImageStyle = function(imageStyle) {
this.state_.imageStyle = imageStyle;
};
/**
* @const
* @private
* @type {Object.<ol.geom.GeometryType,
* function(this: ol.render.canvas.Render, ol.geom.Geometry)>}
*/
ol.render.canvas.Render.GEOMETRY_RENDERES_ = {
'Point': ol.render.canvas.Render.prototype.drawPointGeometry,
'LineString': ol.render.canvas.Render.prototype.drawLineStringGeometry,
'Polygon': ol.render.canvas.Render.prototype.drawPolygonGeometry,
'MultiPoint': ol.render.canvas.Render.prototype.drawMultiPointGeometry,
'MultiLineString':
ol.render.canvas.Render.prototype.drawMultiLineStringGeometry,
'MultiPolygon': ol.render.canvas.Render.prototype.drawMultiPolygonGeometry
};