Geolocalização


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://”


Comentários