Allow literal from symbolizer without feature

This commit is contained in:
Tim Schaub
2013-03-06 00:52:48 +01:00
parent 95f3fe535a
commit c0c8faaf9f
4 changed files with 19 additions and 7 deletions

View File

@@ -94,8 +94,12 @@ goog.inherits(ol.style.Line, ol.style.Symbolizer);
* @inheritDoc
* @return {ol.style.LineLiteral} Literal line symbolizer.
*/
ol.style.Line.prototype.createLiteral = function(feature) {
var attrs = feature.getAttributes();
ol.style.Line.prototype.createLiteral = function(opt_feature) {
var attrs,
feature = opt_feature;
if (goog.isDef(feature)) {
attrs = feature.getAttributes();
}
var strokeStyle = this.strokeStyle_.evaluate(feature, attrs);
goog.asserts.assertString(strokeStyle, 'strokeStyle must be a string');

View File

@@ -109,8 +109,12 @@ goog.inherits(ol.style.Polygon, ol.style.Symbolizer);
* @inheritDoc
* @return {ol.style.PolygonLiteral} Literal shape symbolizer.
*/
ol.style.Polygon.prototype.createLiteral = function(feature) {
var attrs = feature.getAttributes();
ol.style.Polygon.prototype.createLiteral = function(opt_feature) {
var attrs,
feature = opt_feature;
if (goog.isDef(feature)) {
attrs = feature.getAttributes();
}
var fillStyle = this.fillStyle_.evaluate(feature, attrs);
goog.asserts.assertString(fillStyle, 'fillStyle must be a string');

View File

@@ -143,8 +143,12 @@ ol.style.Shape = function(options) {
* @inheritDoc
* @return {ol.style.ShapeLiteral} Literal shape symbolizer.
*/
ol.style.Shape.prototype.createLiteral = function(feature) {
var attrs = feature.getAttributes();
ol.style.Shape.prototype.createLiteral = function(opt_feature) {
var attrs,
feature = opt_feature;
if (goog.isDef(feature)) {
attrs = feature.getAttributes();
}
var size = this.size_.evaluate(feature, attrs);
goog.asserts.assertNumber(size, 'size must be a number');

View File

@@ -27,7 +27,7 @@ ol.style.Symbolizer = function() {};
/**
* @param {ol.Feature} feature Feature for evaluating expressions.
* @param {ol.Feature=} opt_feature Feature for evaluating expressions.
* @return {ol.style.SymbolizerLiteral} Literal symbolizer.
*/
ol.style.Symbolizer.prototype.createLiteral = goog.abstractMethod;