Para obter a geolocalização utilize a seguinte função javascript’:
navigator.geolocation.getCurrentPosition
Essa função permite obter a coordenada (latitude e longitude), velocidade em metros por segundo, a altitude em metros e a precisão da coordenada e da altitude.
Nem todos os browsers suportam o método navigator.geolocation, então, é importante fazer um teste antes de realizar a chamada ao método getCurrentPosition().
Exemplo:
<!DOCTYPE html>
<html>
<head>
<title>Teste</title>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.4.4.min.js"></script>
<script type="text/javascript">
function obterGeolocalizacao()
{
if (!navigator.geolocation) {
$('#txtInfo').val('Não foi possível obter a sua geolocalização');
return;
}
if (location.protocol != 'https:') {
$('#txtInfo').val('Só é permitido obter a geolocalização em sites https');
return;
}
$('#txtInfo').val('obtendo geolocalização...');
navigator.geolocation.getCurrentPosition(function (position) {
var texto = 'latitude=' + position.coords.latitude + '\r\n' +
'longitude=' + position.coords.longitude + '\r\n' +
'precisao=' + position.coords.accuracy + ' metros\r\n' +
'velocidade=' + position.coords.speed + ' metros/segundo\r\n' +
'altitude=' + position.coords.altitude + ' metros\r\n' +
'precisaoAltitude=' + position.coords.altitudeAccuracy;
$('#txtInfo').val(texto);
});
}
</script>
</head>
<body>
<textarea id="txtInfo" rows="6" cols="50"></textarea>
<input type="button" value="Obter geolocalização" onclick="obterGeolocalizacao();" />
</body>
</html>
Para testar esse exemplo, utilize o seguinte link: https://codepen.io/educoutinho/pen/ygvYdg
NOTA: A função “navigator.geolocation.getCurrentPosition” é suportada somente em sites com certificado SSL, ou seja, só funciona em sites que rodam com “https://”