Do not clone the context for every feature
This commit is contained in:
@@ -1412,7 +1412,7 @@ ol.format.GML.writeGeometry_ = function(node, geometry, objectStack) {
|
|||||||
var context = objectStack[objectStack.length - 1];
|
var context = objectStack[objectStack.length - 1];
|
||||||
goog.asserts.assert(goog.isObject(context));
|
goog.asserts.assert(goog.isObject(context));
|
||||||
var item = goog.object.clone(context);
|
var item = goog.object.clone(context);
|
||||||
goog.object.set(item, 'node', node);
|
item.node = node;
|
||||||
ol.xml.pushSerializeAndPop(/** @type {ol.xml.NodeStackItem} */
|
ol.xml.pushSerializeAndPop(/** @type {ol.xml.NodeStackItem} */
|
||||||
(item), ol.format.GML.GEOMETRY_SERIALIZERS_,
|
(item), ol.format.GML.GEOMETRY_SERIALIZERS_,
|
||||||
ol.format.GML.GEOMETRY_NODE_FACTORY_, [geometry], objectStack);
|
ol.format.GML.GEOMETRY_NODE_FACTORY_, [geometry], objectStack);
|
||||||
@@ -1455,8 +1455,8 @@ ol.format.GML.writeFeature_ = function(node, feature, objectStack) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
var item = goog.object.clone(context);
|
var item = objectStack[0];
|
||||||
goog.object.set(item, 'node', node);
|
item.node = node;
|
||||||
ol.xml.pushSerializeAndPop(/** @type {ol.xml.NodeStackItem} */
|
ol.xml.pushSerializeAndPop(/** @type {ol.xml.NodeStackItem} */
|
||||||
(item), context.serializers,
|
(item), context.serializers,
|
||||||
ol.xml.OBJECT_PROPERTY_NODE_FACTORY,
|
ol.xml.OBJECT_PROPERTY_NODE_FACTORY,
|
||||||
@@ -1481,7 +1481,7 @@ ol.format.GML.writeFeatureMembers_ = function(node, features, objectStack) {
|
|||||||
serializers[featureNS][featureType] = ol.xml.makeChildAppender(
|
serializers[featureNS][featureType] = ol.xml.makeChildAppender(
|
||||||
ol.format.GML.writeFeature_);
|
ol.format.GML.writeFeature_);
|
||||||
var item = goog.object.clone(context);
|
var item = goog.object.clone(context);
|
||||||
goog.object.set(item, 'node', node);
|
item.node = node;
|
||||||
ol.xml.pushSerializeAndPop(/** @type {ol.xml.NodeStackItem} */
|
ol.xml.pushSerializeAndPop(/** @type {ol.xml.NodeStackItem} */
|
||||||
(item),
|
(item),
|
||||||
serializers,
|
serializers,
|
||||||
|
|||||||
Reference in New Issue
Block a user