HTML5 Geolocation - Dica

Veja nesta dica como utilizar a API do HTML5 Geolocation e exibir a localização do usuário em um mapa do google maps.

Olá pessoal, nesta dica veremos como obter a localização do usuário utilizando a API HTML5 Geolocation e exibi-la em um mapa do Google Maps.

Para isso basta utilizar o código abaixo, lembrando que o usuário precisa permitir a Geolocalização e que seu navegador precisa suportar essa tecnologia.

<!DOCTYPE html> <html> <body> <p id="demo">Clique no botão para obter sua localização:</p> <button onclick="getLocation()">Clique aqui</button> <div id="mapholder"></div> <script src="http://maps.google.com/maps/api/js?sensor=false"></script> <script> var x=document.getElementById("demo"); function getLocation() { if (navigator.geolocation) { navigator.geolocation.getCurrentPosition(showPosition,showError); } else{x.innerHTML="Geolocalização não é suportada nesse browser.";} } function showPosition(position) { lat=position.coords.latitude; lon=position.coords.longitude; latlon=new google.maps.LatLng(lat, lon) mapholder=document.getElementById('mapholder') mapholder.style.height='250px'; mapholder.style.width='500px'; var myOptions={ center:latlon,zoom:14, mapTypeId:google.maps.MapTypeId.ROADMAP, mapTypeControl:false, navigationControlOptions:{style:google.maps.NavigationControlStyle.SMALL} }; var map=new google.maps.Map(document.getElementById("mapholder"),myOptions); var marker=new google.maps.Marker({position:latlon,map:map,title:"Você está Aqui!"}); } function showError(error) { switch(error.code) { case error.PERMISSION_DENIED: x.innerHTML="Usuário rejeitou a solicitação de Geolocalização." break; case error.POSITION_UNAVAILABLE: x.innerHTML="Localização indisponível." break; case error.TIMEOUT: x.innerHTML="O tempo da requisição expirou." break; case error.UNKNOWN_ERROR: x.innerHTML="Algum erro desconhecido aconteceu." break; } } </script> </body> </html>
Listagem 1. Obtendo geolocalização e exibindo um mapa do Google Maps

Caso tenham alguma dúvida, fiquem à vontade para usar os comentários para perguntar.

Artigos relacionados