JSFiddle - React, Tailwind, and code Playground

by jakie8

HTML

<button id="go">Retrieve</button>
<p id="out">Hello, World</p>

JavaScript

var out = document.getElementById('out'),
    go = document.getElementById('go');

function checkAction() {
    if (window.geoData) {
        out.innerHTML = 'Retrieved Geo Data';
        clearInterval(checkAction);
    } else {
        if(window.deniedGeo){
            out.innerHTML = "Denied";
        } else {
            out.innerHTML = 'Awaiting Action';
        }
    }
}

function onSuccess(pos) {
    clearInterval(checkAction);
    window.geoData = pos;
    checkAction();
}

function onDenial() {
    clearInterval(checkAction);
    window.deniedGeo = true;
    checkAction();
}

go.addEventListener('click', function() {
    setInterval(checkAction, 100);

    navigator.geolocation.getCurrentPosition(onSuccess, onDenial);
});