Handle that ol.xml.pushParseAndPop can return undefined
This commit is contained in:
@@ -81,10 +81,11 @@ ol.format.GML.readFeatures_ = function(node, objectStack) {
|
|||||||
parsers[featureType] = ol.xml.makeArrayPusher(ol.format.GML.readFeature_);
|
parsers[featureType] = ol.xml.makeArrayPusher(ol.format.GML.readFeature_);
|
||||||
parsersNS[goog.object.get(context, 'featureNS')] = parsers;
|
parsersNS[goog.object.get(context, 'featureNS')] = parsers;
|
||||||
features = ol.xml.pushParseAndPop([], parsersNS, node, objectStack);
|
features = ol.xml.pushParseAndPop([], parsersNS, node, objectStack);
|
||||||
} else {
|
}
|
||||||
|
if (!goog.isDef(features)) {
|
||||||
features = [];
|
features = [];
|
||||||
}
|
}
|
||||||
return /** @type {Array.<ol.Feature>} */ (features);
|
return features;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@@ -110,8 +111,13 @@ ol.format.GML.readGeometry_ = function(node, objectStack) {
|
|||||||
goog.asserts.assert(goog.isObject(context));
|
goog.asserts.assert(goog.isObject(context));
|
||||||
goog.object.set(context, 'srsName',
|
goog.object.set(context, 'srsName',
|
||||||
node.firstElementChild.getAttribute('srsName'));
|
node.firstElementChild.getAttribute('srsName'));
|
||||||
return /** @type {ol.geom.Geometry} */ (ol.xml.pushParseAndPop(null,
|
var geometry = ol.xml.pushParseAndPop(/** @type {ol.geom.Geometry} */(null),
|
||||||
ol.format.GML.GEOMETRY_PARSERS_, node, objectStack));
|
ol.format.GML.GEOMETRY_PARSERS_, node, objectStack);
|
||||||
|
if (goog.isDefAndNotNull(geometry)) {
|
||||||
|
return geometry;
|
||||||
|
} else {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@@ -147,7 +153,7 @@ ol.format.GML.readFeature_ = function(node, objectStack) {
|
|||||||
if (goog.isDef(geometryName)) {
|
if (goog.isDef(geometryName)) {
|
||||||
feature.setGeometryName(geometryName);
|
feature.setGeometryName(geometryName);
|
||||||
}
|
}
|
||||||
if (!goog.isNull(fid)) {
|
if (fid) {
|
||||||
feature.setId(fid);
|
feature.setId(fid);
|
||||||
}
|
}
|
||||||
return feature;
|
return feature;
|
||||||
|
|||||||
Reference in New Issue
Block a user