From db52ff926e3578e13505ca094d221c32c394edb9 Mon Sep 17 00:00:00 2001 From: ahocevar Date: Sun, 3 Mar 2013 15:22:33 +0100 Subject: [PATCH] Return an empty array for features without geometry This ensures that the static applyDefaultStyle() method works exactly the same way as the instance's apply() method. --- src/ol/style/style.js | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/src/ol/style/style.js b/src/ol/style/style.js index 573c3c80f9..e1afc68665 100644 --- a/src/ol/style/style.js +++ b/src/ol/style/style.js @@ -56,18 +56,21 @@ ol.style.Style.prototype.apply = function(feature) { * the feature. */ ol.style.Style.applyDefaultStyle = function(feature) { - var type = feature.getGeometry().getType(), + var geometry = feature.getGeometry(), symbolizerLiterals = []; - if (type === ol.geom.GeometryType.POINT || - type === ol.geom.GeometryType.MULTIPOINT) { - symbolizerLiterals.push(ol.style.ShapeDefaults); - } else if (type === ol.geom.GeometryType.LINESTRING || - type === ol.geom.GeometryType.MULTILINESTRING) { - symbolizerLiterals.push(ol.style.LineDefaults); - } else if (type === ol.geom.GeometryType.LINEARRING || - type === ol.geom.GeometryType.POLYGON || - type === ol.geom.GeometryType.MULTIPOLYGON) { - symbolizerLiterals.push(ol.style.PolygonDefaults); + if (!goog.isNull(geometry)) { + var type = geometry.getType(); + if (type === ol.geom.GeometryType.POINT || + type === ol.geom.GeometryType.MULTIPOINT) { + symbolizerLiterals.push(ol.style.ShapeDefaults); + } else if (type === ol.geom.GeometryType.LINESTRING || + type === ol.geom.GeometryType.MULTILINESTRING) { + symbolizerLiterals.push(ol.style.LineDefaults); + } else if (type === ol.geom.GeometryType.LINEARRING || + type === ol.geom.GeometryType.POLYGON || + type === ol.geom.GeometryType.MULTIPOLYGON) { + symbolizerLiterals.push(ol.style.PolygonDefaults); + } } return symbolizerLiterals; };