diff options
author | Chris Schlaeger <chris@linux.com> | 2014-08-12 21:56:44 +0200 |
---|---|---|
committer | Chris Schlaeger <chris@linux.com> | 2014-08-12 21:56:44 +0200 |
commit | ea346a785dc1b3f7c156f6fc33da634e1f1a627b (patch) | |
tree | af67530553d20b6e82ad60fd79593e9c4abf5565 /misc/openlayers/examples/kml-pointtrack.js | |
parent | 59741cd535c47f25971bf8c32b25da25ceadc6d5 (diff) | |
download | postrunner-ea346a785dc1b3f7c156f6fc33da634e1f1a627b.zip |
Adding jquery, flot and openlayers to be included with the GEM.v0.0.4
Diffstat (limited to 'misc/openlayers/examples/kml-pointtrack.js')
-rw-r--r-- | misc/openlayers/examples/kml-pointtrack.js | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/misc/openlayers/examples/kml-pointtrack.js b/misc/openlayers/examples/kml-pointtrack.js new file mode 100644 index 0000000..7d48ce3 --- /dev/null +++ b/misc/openlayers/examples/kml-pointtrack.js @@ -0,0 +1,52 @@ +var map; + +function init() { + + var mercator = new OpenLayers.Projection("EPSG:900913"); + var geographic = new OpenLayers.Projection("EPSG:4326"); + + map = new OpenLayers.Map({ + div: "map", + projection: mercator, + layers: [ + new OpenLayers.Layer.OSM(), + new OpenLayers.Layer.PointTrack("Aircraft Tracks", { + projection: geographic, + strategies: [new OpenLayers.Strategy.Fixed()], + protocol: new OpenLayers.Protocol.HTTP({ + url: "kml-track.kml", + format: new OpenLayers.Format.KML({ + extractTracks: true, + extractStyles: true + }) + }), + dataFrom: OpenLayers.Layer.PointTrack.TARGET_NODE, + styleFrom: OpenLayers.Layer.PointTrack.TARGET_NODE, + eventListeners: { + "beforefeaturesadded": function(e) { + // group the tracks by fid and create one track for + // every fid + var fid, points = [], feature; + for (var i=0, len=e.features.length; i<len; i++) { + feature = e.features[i]; + if ((fid && feature.fid !== fid) || i === len-1) { + this.addNodes(points, {silent: true}); + points = []; + } else { + points.push(feature); + } + fid = feature.fid; + } + return false; + } + } + }) + ], + center: new OpenLayers.LonLat(-93.2735, 44.8349).transform(geographic, mercator), + zoom: 8 + }); + + map.addControl(new OpenLayers.Control.LayerSwitcher()); + +}; + |