diff options
| author | Guillaume Horel <guillaume.horel@gmail.com> | 2014-10-12 11:52:24 -0400 |
|---|---|---|
| committer | Guillaume Horel <guillaume.horel@gmail.com> | 2014-10-12 11:52:24 -0400 |
| commit | 706bc8ce0fbf74400d8beed3743f5f159af02d1e (patch) | |
| tree | 6d0710b7a9fece3e39f397d1010041c766492b28 /static/hikers.js | |
| parent | d09a58136b3f5472127ec375cb7a2b9c44b8f698 (diff) | |
| download | hike.rs-706bc8ce0fbf74400d8beed3743f5f159af02d1e.tar.gz | |
MVP
Diffstat (limited to 'static/hikers.js')
| -rw-r--r-- | static/hikers.js | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/static/hikers.js b/static/hikers.js new file mode 100644 index 0000000..f0dd1e0 --- /dev/null +++ b/static/hikers.js @@ -0,0 +1,37 @@ +var map = L.map('map').setView([40.721, -73.974], 17); +// add an OpenStreetMap tile layer +L.tileLayer('http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', { + attribution: '© <a href="http://osm.org/copyright">OpenStreetMap</a> contributors' +}).addTo(map); + +// // add a marker in the given location, attach some popup content to it and open the popup +// L.marker([51.5, -0.09]).addTo(map) +// .bindPopup('A pretty CSS3 popup. <br> Easily customizable.') +// .openPopup(); + + +function parsexml(text) { + parser = new DOMParser() + xmlDoc = parser.parseFromString(text, "text/xml"); + nodelist = xmlDoc.getElementsByTagName('trkpt'); + r = []; + for(i = 0; i < nodelist.length; i++) { + e = nodelist[i] + r[i] = L.latLng(e.getAttribute('lat'), e.getAttribute('lon')); + } + return r; +} + +function handleFile(evt) { + var file = evt.target.files[0]; // FileList object + var reader = new FileReader(); + reader.onload = function() { + console.log(this.result); + var polyline = L.polyline(parsexml(this.result), + {color: 'red'}).addTo(map); + map.fitBounds(polyline.getBounds()); + } + reader.readAsText(file); +} + +document.getElementById('files').addEventListener('change', handleFile, false); |
