HTML - Geolocation API
Overview
Estimated time: 20–30 minutes
Geolocation requires HTTPS and user permission. Always provide fallbacks.
Example
<button id="loc">Get Location</button>
<pre id="out"></pre>
<script>
document.getElementById('loc').addEventListener('click', () => {
if (!('geolocation' in navigator)) {
out.textContent = 'Geolocation not supported';
return;
}
navigator.geolocation.getCurrentPosition(
pos => { out.textContent = JSON.stringify({lat: pos.coords.latitude, lon: pos.coords.longitude}, null, 2); },
err => { out.textContent = 'Error: ' + err.message; },
{ enableHighAccuracy: true, timeout: 8000 }
);
});
</script>
Common Pitfalls
- Calling without a user gesture—may be blocked.
- No error handling for denied permissions.