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);
});