Accessor for polygon rings

This commit is contained in:
Tim Schaub
2013-09-27 15:43:54 +02:00
parent 42115baabb
commit 626a319222
7 changed files with 65 additions and 48 deletions

View File

@@ -155,7 +155,7 @@ ol.parser.GPX = function(opt_options) {
var desc = attributes['description'] || this.defaultDesc;
this.writeNode('desc', desc, undefined, node);
var geom = feature.getGeometry();
var i, ii;
var i, ii, rings;
if (geom instanceof ol.geom.LineString) {
this.writeNode('trkseg', feature.getGeometry(), undefined, node);
} else if (geom instanceof ol.geom.MultiLineString) {
@@ -163,8 +163,9 @@ ol.parser.GPX = function(opt_options) {
this.writeNode('trkseg', geom.components[i], undefined, node);
}
} else if (geom instanceof ol.geom.Polygon) {
for (i = 0, ii = geom.rings.length; i < ii; ++i) {
this.writeNode('trkseg', geom.rings[i], undefined, node);
rings = geom.getRings();
for (i = 0, ii = rings.length; i < ii; ++i) {
this.writeNode('trkseg', rings[i], undefined, node);
}
}
return node;

View File

@@ -229,9 +229,10 @@ ol.parser.WKT.prototype.encodeMultiLineString_ = function(geom) {
*/
ol.parser.WKT.prototype.encodePolygon_ = function(geom) {
var array = [];
for (var i = 0, ii = geom.rings.length; i < ii; ++i) {
var rings = geom.getRings();
for (var i = 0, ii = rings.length; i < ii; ++i) {
array.push('(' + this.encodeLineString_.apply(this,
[geom.rings[i]]) + ')');
[rings[i]]) + ')');
}
return array.join(',');
};