Merge pull request #2013 from bartvde/wfsdata

parsing issues with ol.format.WFS (=r@fredj)
This commit is contained in:
Bart van den Eijnden
2014-04-28 09:38:54 +02:00
4 changed files with 236 additions and 3 deletions

View File

@@ -119,10 +119,12 @@ ol.format.GML.readFeatures_ = function(node, objectStack) {
if (localName == 'FeatureCollection') {
features = ol.xml.pushParseAndPop(null,
ol.format.GML.FEATURE_COLLECTION_PARSERS, node, objectStack);
} else if (localName == 'featureMembers') {
} else if (localName == 'featureMembers' || localName == 'featureMember') {
var parsers = {};
var parsersNS = {};
parsers[featureType] = ol.xml.makeArrayPusher(ol.format.GML.readFeature_);
parsers[featureType] = (localName == 'featureMembers') ?
ol.xml.makeArrayPusher(ol.format.GML.readFeature_) :
ol.xml.makeReplacer(ol.format.GML.readFeature_);
parsersNS[goog.object.get(context, 'featureNS')] = parsers;
features = ol.xml.pushParseAndPop([], parsersNS, node, objectStack);
}
@@ -138,6 +140,7 @@ ol.format.GML.readFeatures_ = function(node, objectStack) {
*/
ol.format.GML.FEATURE_COLLECTION_PARSERS = {
'http://www.opengis.net/gml': {
'featureMember': ol.xml.makeArrayPusher(ol.format.GML.readFeatures_),
'featureMembers': ol.xml.makeReplacer(ol.format.GML.readFeatures_)
}
};

View File

@@ -80,7 +80,7 @@ ol.format.WFS.prototype.readFeaturesFromNode = function(node) {
'featureType': this.featureType_,
'featureNS': this.featureNS_
}];
var features = ol.xml.pushParseAndPop(null,
var features = ol.xml.pushParseAndPop([],
ol.format.GML.FEATURE_COLLECTION_PARSERS, node, objectStack);
if (!goog.isDef(features)) {
features = [];