summaryrefslogtreecommitdiff
path: root/misc/openlayers/examples/kml-pointtrack.js
diff options
context:
space:
mode:
authorChris Schlaeger <chris@linux.com>2014-08-12 21:56:44 +0200
committerChris Schlaeger <chris@linux.com>2014-08-12 21:56:44 +0200
commitea346a785dc1b3f7c156f6fc33da634e1f1a627b (patch)
treeaf67530553d20b6e82ad60fd79593e9c4abf5565 /misc/openlayers/examples/kml-pointtrack.js
parent59741cd535c47f25971bf8c32b25da25ceadc6d5 (diff)
downloadpostrunner-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.js52
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());
+
+};
+