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: '© OpenStreetMap 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.
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);