OpenLayers OpenLayers

Changeset 6709

Show
Ignore:
Timestamp:
03/30/08 18:50:27 (9 months ago)
Author:
edgemaster
Message:

Support for all gpx data types and reprojection

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • sandbox/crschmidt/osm/lib/OpenLayers/Format/GPX.js

    r5004 r6709  
    5050            var segs = this.getElementsByTagNameNS(tracks[i], tracks[i].namespaceURI, "trkseg"); 
    5151            for (var j = 0; j < segs.length; j++) { 
    52                 var track = this.extractTrackSegment(segs[i]); 
     52                var track = this.extractSegment(segs[i], "trkpt"); 
    5353                features.push(track); 
    5454            } 
    55         }    
     55        } 
     56        var routes = doc.getElementsByTagName("rte"); 
     57        for (var k = 0; k < routes.length; k++) { 
     58            var route = this.extractSegment(routes[k], "rtept"); 
     59            features.push(route); 
     60        } 
     61        var waypoints = doc.getElementsByTagName("wpt"); 
     62        for (var l = 0; l < waypoints.length; l++) { 
     63            features.push(new OpenLayers.Geometry.Point(waypoints[i].getAttribute("lon"), waypoints[l].getAttribute("lat"))); 
     64        } 
     65         
     66        if (this.internalProjection && this.externalProjection) { 
     67            for (var g = 0; g < features.length; g++) { 
     68                features[g].geometry.transform(this.externalProjection, 
     69                                    this.internalProjection); 
     70            } 
     71        } 
     72         
    5673        return features; 
    5774    }, 
    58     extractTrackSegment: function(segment) { 
    59         var points = this.getElementsByTagNameNS(segment, segment.namespaceURI, "trkpt"); 
     75    extractSegment: function(segment, segmentType) { 
     76        var points = this.getElementsByTagNameNS(segment, segment.namespaceURI, segmentType); 
    6077        var point_features = []; 
    6178        for (var i = 0; i < points.length; i++) {