Geolocation dabbling

A basic example of geolocation

by brianarn

HTML

<h3>Output:</h3>
<ul id="output"></ul>

CSS

#output {
    list-style: disc;
    padding-left: 20px;
}

JavaScript

function output() {
    var container = document.getElementById('output'),
        item = document.createElement('li'),
        msgs = [],
        i, l;

    for (i = 0, l = arguments.length; i < l; ++i) {
        msgs.push(arguments[i].toString());
    }

    item.innerHTML = msgs.join(' ');
    container.appendChild(item);
}

function clearOutput() {
    var container = document.getElementById('output');
    
    container.innerHTML = "";
}

document.addEventListener('DOMContentLoaded', function() {
    function getPos(){
        navigator.geolocation.getCurrentPosition(showPos, handleErr);
    }
    
    function showPos(pos){
        clearOutput();
        output("Lat: " + pos.coords.latitude);
        output("Long: " + pos.coords.longitude);
        output("Accuracy: " + pos.coords.accuracy + " meters");
        
        setTimeout(getPos, 1000);
    }
    
    function handleErr(err){
        output("Error code: " + err.code);
        output("Error message: " + err.message);
    }

    getPos();
}, false);