OpenLayers OpenLayers

Changeset 3892

Show
Ignore:
Timestamp:
08/11/07 10:40:49 (1 year ago)
Author:
tschaub
Message:

make buildGeometryNode an API method (again)

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • sandbox/tschaub/xml/lib/OpenLayers/Format/GML.js

    r3864 r3892  
    502502    createFeatureXML: function(feature) { 
    503503        var geometry = feature.geometry; 
    504         var className = geometry.CLASS_NAME; 
    505         var type = className.substring(className.lastIndexOf(".") + 1); 
    506         var builder = this.buildGeometryNode[type.toLowerCase()]; 
     504        var geometryNode = this.buildGeometryNode(geometry); 
    507505        var geometryNode; 
    508506        if(builder) { 
     
    538536     
    539537    /** 
    540      * Property: buildGeometryNode 
     538     * APIMethod: buildGeometryNode 
     539     */ 
     540    buildGeometryNode: function(geometry) { 
     541        var className = geometry.CLASS_NAME; 
     542        var type = className.substring(className.lastIndexOf(".") + 1); 
     543        var builder = this.buildGeometry[type.toLowerCase()]; 
     544        return builder.apply(this, [geometry]); 
     545    }, 
     546 
     547    /** 
     548     * Property: buildGeometry 
    541549     * Object containing methods to do the actual geometry node building 
    542550     *     based on geometry type. 
    543551     */ 
    544     buildGeometryNode: { 
     552    buildGeometry: { 
    545553        // TBD retrieve the srs from layer 
    546554        // srsName is non-standard, so not including it until it's right. 
     
    549557 
    550558        /** 
    551          * Method: buildGeometryNode.point 
     559         * Method: buildGeometry.point 
    552560         * Given an OpenLayers point geometry, create a GML point. 
    553561         * 
     
    565573         
    566574        /** 
    567          * Method: buildGeometryNode.multipoint 
     575         * Method: buildGeometry.multipoint 
    568576         * Given an OpenLayers multipoint geometry, create a GML multipoint. 
    569577         * 
     
    581589                pointMember = this.createElementNS(this.gmlns, 
    582590                                                   "gml:pointMember"); 
    583                 pointGeom = this.buildGeometryNode.point.apply(this, 
     591                pointGeom = this.buildGeometry.point.apply(this, 
    584592                                                               [points[i]]); 
    585593                pointMember.appendChild(pointGeom); 
     
    590598         
    591599        /** 
    592          * Method: buildGeometryNode.linestring 
     600         * Method: buildGeometry.linestring 
    593601         * Given an OpenLayers linestring geometry, create a GML linestring. 
    594602         * 
     
    606614         
    607615        /** 
    608          * Method: buildGeometryNode.multilinestring 
     616         * Method: buildGeometry.multilinestring 
    609617         * Given an OpenLayers multilinestring geometry, create a GML 
    610618         *     multilinestring. 
     
    624632                lineMember = this.createElementNS(this.gmlns, 
    625633                                                  "gml:lineStringMember"); 
    626                 lineGeom = this.buildGeometryNode.linestring.apply(this, 
     634                lineGeom = this.buildGeometry.linestring.apply(this, 
    627635                                                                   [lines[i]]); 
    628636                lineMember.appendChild(lineGeom); 
     
    633641         
    634642        /** 
    635          * Method: buildGeometryNode.linearring 
     643         * Method: buildGeometry.linearring 
    636644         * Given an OpenLayers linearring geometry, create a GML linearring. 
    637645         * 
     
    649657         
    650658        /** 
    651          * Method: buildGeometryNode.polygon 
     659         * Method: buildGeometry.polygon 
    652660         * Given an OpenLayers polygon geometry, create a GML polygon. 
    653661         * 
     
    666674                ringMember = this.createElementNS(this.gmlns, 
    667675                                                  "gml:" + type); 
    668                 ringGeom = this.buildGeometryNode.linearring.apply(this, 
     676                ringGeom = this.buildGeometry.linearring.apply(this, 
    669677                                                                   [rings[i]]); 
    670678                ringMember.appendChild(ringGeom); 
     
    675683         
    676684        /** 
    677          * Method: buildGeometryNode.multipolygon 
     685         * Method: buildGeometry.multipolygon 
    678686         * Given an OpenLayers multipolygon geometry, create a GML multipolygon. 
    679687         * 
     
    692700                polyMember = this.createElementNS(this.gmlns, 
    693701                                                  "gml:polygonMember"); 
    694                 polyGeom = this.buildGeometryNode.polygon.apply(this, 
     702                polyGeom = this.buildGeometry.polygon.apply(this, 
    695703                                                                [polys[i]]); 
    696704                polyMember.appendChild(polyGeom); 
     
    733741    CLASS_NAME: "OpenLayers.Format.GML"  
    734742}); 
    735  
    736