diff --git a/lib/OpenLayers/Geometry.js b/lib/OpenLayers/Geometry.js index 6547173f38..3de74ad7ae 100644 --- a/lib/OpenLayers/Geometry.js +++ b/lib/OpenLayers/Geometry.js @@ -203,6 +203,36 @@ OpenLayers.Geometry = OpenLayers.Class({ CLASS_NAME: "OpenLayers.Geometry" }); +/** + * Function: OpenLayers.Geometry.fromWKT + * Generate a geometry given a Well-Known Text string. + * + * Parameters: + * wkt - {String} A string representing the geometry in Well-Known Text. + * + * Returns: + * {} A geometry of the appropriate class. + */ +OpenLayers.Geometry.fromWKT = function(wkt) { + var format = arguments.callee.format; + if(!format) { + format = new OpenLayers.Format.WKT(); + arguments.callee.format = format; + } + var geom; + var result = format.read(wkt); + if(result instanceof OpenLayers.Feature.Vector) { + geom = result.geometry; + } else if(result instanceof Array) { + var len = result.length; + var components = new Array(len); + for(var i=0; i