Fire change events for multi-part geometries

This commit is contained in:
ahocevar
2013-10-04 23:36:16 -06:00
parent 703564fcbb
commit 52552c9b18
19 changed files with 253 additions and 114 deletions
+12 -9
View File
@@ -340,8 +340,9 @@ ol.parser.ogc.GML = function(opt_options) {
},
'MultiPoint': function(geometry) {
var node = this.createElementNS('gml:MultiPoint');
for (var i = 0, ii = geometry.components.length; i < ii; ++i) {
this.writeNode('pointMember', geometry.components[i], null, node);
var components = geometry.getComponents();
for (var i = 0, ii = components.length; i < ii; ++i) {
this.writeNode('pointMember', components[i], null, node);
}
return node;
},
@@ -352,9 +353,9 @@ ol.parser.ogc.GML = function(opt_options) {
},
'MultiLineString': function(geometry) {
var node = this.createElementNS('gml:MultiLineString');
for (var i = 0, ii = geometry.components.length; i < ii; ++i) {
this.writeNode('lineStringMember', geometry.components[i], null,
node);
var components = geometry.getComponents();
for (var i = 0, ii = components.length; i < ii; ++i) {
this.writeNode('lineStringMember', components[i], null, node);
}
return node;
},
@@ -365,8 +366,9 @@ ol.parser.ogc.GML = function(opt_options) {
},
'MultiPolygon': function(geometry) {
var node = this.createElementNS('gml:MultiPolygon');
for (var i = 0, ii = geometry.components.length; i < ii; ++i) {
this.writeNode('polygonMember', geometry.components[i], null, node);
var components = geometry.getComponents();
for (var i = 0, ii = components.length; i < ii; ++i) {
this.writeNode('polygonMember', components[i], null, node);
}
return node;
},
@@ -377,8 +379,9 @@ ol.parser.ogc.GML = function(opt_options) {
},
'GeometryCollection': function(geometry) {
var node = this.createElementNS('gml:GeometryCollection');
for (var i = 0, ii = geometry.components.length; i < ii; ++i) {
this.writeNode('geometryMember', geometry.components[i], null, node);
var components = geometry.getComponents();
for (var i = 0, ii = components.length; i < ii; ++i) {
this.writeNode('geometryMember', components[i], null, node);
}
return node;
},
+6 -4
View File
@@ -349,8 +349,9 @@ ol.parser.ogc.GML_v3 = function(opt_options) {
},
'MultiCurve': function(geometry) {
var node = this.createElementNS('gml:MultiCurve');
for (var i = 0, len = geometry.components.length; i < len; ++i) {
this.writeNode('curveMember', geometry.components[i], null, node);
var components = geometry.getComponents();
for (var i = 0, len = components.length; i < len; ++i) {
this.writeNode('curveMember', components[i], null, node);
}
return node;
},
@@ -365,8 +366,9 @@ ol.parser.ogc.GML_v3 = function(opt_options) {
},
'MultiSurface': function(geometry) {
var node = this.createElementNS('gml:MultiSurface');
for (var i = 0, len = geometry.components.length; i < len; ++i) {
this.writeNode('surfaceMember', geometry.components[i], null, node);
var components = geometry.getComponents();
for (var i = 0, len = components.length; i < len; ++i) {
this.writeNode('surfaceMember', components[i], null, node);
}
return node;
},