Only use 'pushSerializeAndPop' later in code to write extendedData after

This commit is contained in:
lucien
2019-05-16 09:10:40 +02:00
parent 81f99f1579
commit 10c4ec0b37

View File

@@ -2674,12 +2674,15 @@ function writePlacemark(node, feature, objectStack) {
}
// serialize properties (properties unknown to KML are not serialized)
let properties = feature.getProperties();
const properties = feature.getProperties();
// don't export these to ExtendedData
const filter = {'address': 1, 'description': 1, 'name': 1, 'open': 1,
'phoneNumber': 1, 'styleUrl': 1, 'visibility': 1};
filter[feature.getGeometryName()] = 1;
const keys = Object.keys(properties || {}).sort().filter(function(v) {
return !filter[v];
});
const styleFunction = feature.getStyleFunction();
if (styleFunction) {
@@ -2703,11 +2706,6 @@ function writePlacemark(node, feature, objectStack) {
pushSerializeAndPop(context, PLACEMARK_SERIALIZERS,
OBJECT_PROPERTY_NODE_FACTORY, values, objectStack, orderedKeys);
properties = feature.getProperties();
const keys = Object.keys(properties || {}).sort().filter(function(v) {
return !filter[v];
});
if (keys.length > 0) {
const sequence = makeSequence(properties, keys);
const namesAndValues = {names: keys, values: sequence};