Adding gx:Track parsing to the KML format. If extractTracks is true, the parser will extract points from gx:Track elements as features, acquiring attributes from the Placemark plus when, trackId, altitude, heading, tilt, and roll (assuming angles are present). r=ahocevar (closes #2771)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@10631 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
This commit is contained in:
36
examples/kml-track.html
Normal file
36
examples/kml-track.html
Normal file
@@ -0,0 +1,36 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>OpenLayers KLM Track Parsing Example</title>
|
||||
<link rel="stylesheet" href="../theme/default/style.css" type="text/css">
|
||||
<link rel="stylesheet" href="../theme/default/google.css" type="text/css">
|
||||
<link rel="stylesheet" href="style.css" type="text/css">
|
||||
<style>
|
||||
.olControlAttribution {
|
||||
bottom: 2px;
|
||||
}
|
||||
</style>
|
||||
<script src="../lib/OpenLayers.js"></script>
|
||||
<script src="kml-track.js"></script>
|
||||
</head>
|
||||
<body onload="init()">
|
||||
<h1 id="title">Parsing gx:Track in KML</h1>
|
||||
<p id="shortdesc">
|
||||
Demonstrates parsing of gx:Track elements from KML.
|
||||
</p>
|
||||
<div id="map" class="smallmap"></div>
|
||||
<div id="docs">
|
||||
<p>
|
||||
If a KML document contains <code><gx:Track></code>
|
||||
elements and the extractTracks property is set true on the
|
||||
parer, features will be created that represent track points.
|
||||
Each feature will have a when attribute that contains the
|
||||
value of the relevant <code><when></code> element from
|
||||
the track.
|
||||
</p>
|
||||
<p>
|
||||
View the <a href="kml-track.js" target="_blank">kml-track.js</a>
|
||||
source to see how this is done.
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
39
examples/kml-track.js
Normal file
39
examples/kml-track.js
Normal file
@@ -0,0 +1,39 @@
|
||||
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.Vector("Aircraft Locations", {
|
||||
projection: geographic,
|
||||
strategies: [new OpenLayers.Strategy.Fixed()],
|
||||
protocol: new OpenLayers.Protocol.HTTP({
|
||||
url: "kml-track.kml",
|
||||
format: new OpenLayers.Format.KML({
|
||||
extractTracks: true
|
||||
})
|
||||
}),
|
||||
styleMap: new OpenLayers.StyleMap({
|
||||
"default": new OpenLayers.Style({
|
||||
graphicName: "circle",
|
||||
pointRadius: 2,
|
||||
fillOpacity: 0.5,
|
||||
fillColor: "#ffcc66",
|
||||
strokeColor: "#666633",
|
||||
strokeWidth: 1,
|
||||
})
|
||||
})
|
||||
})
|
||||
],
|
||||
center: new OpenLayers.LonLat(-93.2735, 44.8349).transform(geographic, mercator),
|
||||
zoom: 8
|
||||
});
|
||||
|
||||
};
|
||||
|
||||
2574
examples/kml-track.kml
Normal file
2574
examples/kml-track.kml
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user