Changeset 3892
- Timestamp:
- 08/11/07 10:40:49 (1 year ago)
- Files:
-
- sandbox/tschaub/xml/lib/OpenLayers/Format/GML.js (modified) (14 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
sandbox/tschaub/xml/lib/OpenLayers/Format/GML.js
r3864 r3892 502 502 createFeatureXML: function(feature) { 503 503 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); 507 505 var geometryNode; 508 506 if(builder) { … … 538 536 539 537 /** 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 541 549 * Object containing methods to do the actual geometry node building 542 550 * based on geometry type. 543 551 */ 544 buildGeometry Node: {552 buildGeometry: { 545 553 // TBD retrieve the srs from layer 546 554 // srsName is non-standard, so not including it until it's right. … … 549 557 550 558 /** 551 * Method: buildGeometry Node.point559 * Method: buildGeometry.point 552 560 * Given an OpenLayers point geometry, create a GML point. 553 561 * … … 565 573 566 574 /** 567 * Method: buildGeometry Node.multipoint575 * Method: buildGeometry.multipoint 568 576 * Given an OpenLayers multipoint geometry, create a GML multipoint. 569 577 * … … 581 589 pointMember = this.createElementNS(this.gmlns, 582 590 "gml:pointMember"); 583 pointGeom = this.buildGeometry Node.point.apply(this,591 pointGeom = this.buildGeometry.point.apply(this, 584 592 [points[i]]); 585 593 pointMember.appendChild(pointGeom); … … 590 598 591 599 /** 592 * Method: buildGeometry Node.linestring600 * Method: buildGeometry.linestring 593 601 * Given an OpenLayers linestring geometry, create a GML linestring. 594 602 * … … 606 614 607 615 /** 608 * Method: buildGeometry Node.multilinestring616 * Method: buildGeometry.multilinestring 609 617 * Given an OpenLayers multilinestring geometry, create a GML 610 618 * multilinestring. … … 624 632 lineMember = this.createElementNS(this.gmlns, 625 633 "gml:lineStringMember"); 626 lineGeom = this.buildGeometry Node.linestring.apply(this,634 lineGeom = this.buildGeometry.linestring.apply(this, 627 635 [lines[i]]); 628 636 lineMember.appendChild(lineGeom); … … 633 641 634 642 /** 635 * Method: buildGeometry Node.linearring643 * Method: buildGeometry.linearring 636 644 * Given an OpenLayers linearring geometry, create a GML linearring. 637 645 * … … 649 657 650 658 /** 651 * Method: buildGeometry Node.polygon659 * Method: buildGeometry.polygon 652 660 * Given an OpenLayers polygon geometry, create a GML polygon. 653 661 * … … 666 674 ringMember = this.createElementNS(this.gmlns, 667 675 "gml:" + type); 668 ringGeom = this.buildGeometry Node.linearring.apply(this,676 ringGeom = this.buildGeometry.linearring.apply(this, 669 677 [rings[i]]); 670 678 ringMember.appendChild(ringGeom); … … 675 683 676 684 /** 677 * Method: buildGeometry Node.multipolygon685 * Method: buildGeometry.multipolygon 678 686 * Given an OpenLayers multipolygon geometry, create a GML multipolygon. 679 687 * … … 692 700 polyMember = this.createElementNS(this.gmlns, 693 701 "gml:polygonMember"); 694 polyGeom = this.buildGeometry Node.polygon.apply(this,702 polyGeom = this.buildGeometry.polygon.apply(this, 695 703 [polys[i]]); 696 704 polyMember.appendChild(polyGeom); … … 733 741 CLASS_NAME: "OpenLayers.Format.GML" 734 742 }); 735 736
