Capítulo 7
Mostrar mapa dinâmico da posição do dispositivo de usuário
CSS
<style>
#mapa {
width:820px;
height:820px;
margin-top:20px;
display:none;
}
</style>
JavaScript
<script>
var infowindow = new google.maps.InfoWindow();
function mostrarMapa() {
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(sucesso,erro);
} else {
alert("Este navegador não suporta a funcionalidade Geolocation");
}
}
function erro(err) {
switch (err.code) {
case 1 :
var mensagemErro = "A permissão para obter a sua posição foi negada.";
break;
case 2 :
var mensagemErro = "Não foi possível estabelecer uma conexão para obter a sua posição.";
break;
case 3 :
var mensagemErro = "Tempo esgotado.";
break;
default:
var mensagemErro = "Não foi possível obter sua posição.";
}
var codigoErro = err.code;
var mensagem = "Ocoreu um erro na determinação da posição:
";
mensagem += "Código do erro: " + codigoErro + "
";
mensagem += "Mensagem: " + mensagemErro;
document.getElementById('msg').innerHTML = mensagem;
}
function sucesso(position) {
var mapa= document.getElementById("mapa");
mapa.style.display = "block";
var opcoes = {
zoom: 15,
mapTypeId: google.maps.MapTypeId.ROADMAP
}
var map = new google.maps.Map(document.getElementById("mapa"), opcoes);
var latitude = position.coords.latitude;
var longitude = position.coords.longitude;
var local = new google.maps.LatLng(latitude,longitude);
contentString = "
Legal! Achei você usando a funcionalidade
Geolocation do W3C e o Google Maps.";
map.setCenter(local);
infowindow.setContent(contentString);
infowindow.setPosition(local);
infowindow.open(map);
}
</script>
HTML
<section>
<p><input type=button value="Clique para mostrar sua posição no mapa" onClick="mostrarMapa()"></p>
<p id="msg" class="dest"></p>
</section>
<section>
<div id="mapa"></div>
</section>