#611: let all geometry inherit toString from the superclass - geometry.toString returns well-known text based on Format.WKT.write()

git-svn-id: http://svn.openlayers.org/trunk/openlayers@2945 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
This commit is contained in:
Tim Schaub
2007-03-31 19:13:11 +00:00
parent 970c9655ac
commit 1dea6430cd
7 changed files with 20 additions and 27 deletions

View File

@@ -69,6 +69,9 @@ OpenLayers.Format.WKT.prototype =
} }
geometry = collection[i]; geometry = collection[i];
type = geometry.CLASS_NAME.split('.')[2].toLowerCase(); type = geometry.CLASS_NAME.split('.')[2].toLowerCase();
if(!this.extract[type]) {
return null;
}
data = this.extract[type].apply(this, [geometry]); data = this.extract[type].apply(this, [geometry]);
pieces.push(type.toUpperCase() + '(' + data + ')'); pieces.push(type.toUpperCase() + '(' + data + ')');
} }

View File

@@ -4,6 +4,7 @@
/** /**
* @class * @class
* @requires OpenLayers/Format/WKT.js
*/ */
OpenLayers.Geometry = OpenLayers.Class.create(); OpenLayers.Geometry = OpenLayers.Class.create();
OpenLayers.Geometry.prototype = { OpenLayers.Geometry.prototype = {
@@ -160,6 +161,14 @@ OpenLayers.Geometry.prototype = {
return 0.0; return 0.0;
}, },
/**
* @returns the Well-Known Text representation of a geometry
* @type String
*/
toString: function() {
return OpenLayers.Format.WKT.prototype.write(this);
},
/** @final @type String */ /** @final @type String */
CLASS_NAME: "OpenLayers.Geometry" CLASS_NAME: "OpenLayers.Geometry"
}; };

View File

@@ -54,15 +54,6 @@ OpenLayers.Geometry.Collection.prototype =
this.components = null; this.components = null;
}, },
/**
* @returns The coordinates components as a string
* @type String
*/
toString: function() {
return this.components.toString();
},
/** /**
* @returns An exact clone of this collection * @returns An exact clone of this collection
* @type OpenLayers.Geometry.Collection * @type OpenLayers.Geometry.Collection

View File

@@ -85,14 +85,6 @@ OpenLayers.Geometry.Point.prototype =
return equals; return equals;
}, },
/**
* @returns the coordinates as a string
* @type String
*/
toString: function() {
return this.toShortString();
},
/** /**
* @return Shortened String representation of Point object. * @return Shortened String representation of Point object.
* (ex. <i>"5, 42"</i>) * (ex. <i>"5, 42"</i>)

View File

@@ -28,7 +28,9 @@
t.plan(1); t.plan(1);
line = new OpenLayers.Geometry.LineString(components); line = new OpenLayers.Geometry.LineString(components);
t.eq( line.toString(), components.toString(), "toString output checks in"); t.eq(line.toString(),
"LINESTRING(10 15,0 0)",
"toString() returns WKT");
} }
function test_03_LineString_removeComponent(t) { function test_03_LineString_removeComponent(t) {
@@ -56,7 +58,9 @@
function test_04_LineString_move(t) { function test_04_LineString_move(t) {
t.plan(4); t.plan(4);
line = new OpenLayers.Geometry.LineString(components); var components = [new OpenLayers.Geometry.Point(10,15),
new OpenLayers.Geometry.Point(0,0)];
var line = new OpenLayers.Geometry.LineString(components);
var x0 = components[0].x; var x0 = components[0].x;
var y0 = components[0].y; var y0 = components[0].y;

View File

@@ -97,13 +97,6 @@
t.eq(ring.getArea(), 100, "getArea works lovely"); t.eq(ring.getArea(), 100, "getArea works lovely");
} }
function test_05_LinearRing_toString(t) {
t.plan(1);
ring = new OpenLayers.Geometry.LinearRing(components);
t.eq( ring.toString(), components.toString() + ',' + components[0].toString(), "toString output is ok");
}
// --> // -->
</script> </script>
</head> </head>

View File

@@ -60,7 +60,8 @@
var y = 20; var y = 20;
point = new OpenLayers.Geometry.Point(x, y); point = new OpenLayers.Geometry.Point(x, y);
bounds = point.getBounds(); bounds = point.getBounds();
t.eq( point.toString(), x + ", " + y, "toString() works" ); t.eq(point.toString(), "POINT(" + x + " " + y + ")",
"toString() returns WKT" );
} }