Reverse Geocoding com o Google Maps API
Estou com um quebra-cabeça para lidar: Quero fazer um Reverse Geocoding de modo que eu obtenha a localização atual do usuário e daí, com a latitude e longitude que é dado, gero um JSON com as informações. Com o JSON, eu obtenho a rua, o número e o bairro das coordenadas. O problema é que eu estou misturando muita coisa e eu não sei como faço todo esse processo no meu código-fonte e ele tá ficando uma bagunça. Alguém sabe como eu faço isso?
OBS: Só peço que não respondam com PHP. Desde já, agradeço.
Abaixo, o código-fonte em JavaScript e jQuery:
function GetLocation() { // Obtém a localização do usuário a partir da confirmação do mesmo
var retorno = document.getElementById("resultLocal");
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(loadPosition, loadError);
} else {
retorno.innerHTML = "Navegador não tem suporte a geolocalização."
}
}
function loadPosition(position) { // Aqui, deveria ser feita a "conversão" da lati-long para o endereco. Tenho certeza que o problema tá aqui, mas não sei como consertar
var linkText = "http://maps.googleapis.com/maps/api/geocode/json?latlng=" + position.coords.latitude + "," + position.coords.longitude + "&sensor=true";
var obj = jQuery.getJSON(linkText);
console.log(obj.results.address_components[0]);
}
function loadError(error) { // Pro caso de dar algum erro na hora de carregar
switch(error.code)
{
case error.PERMISSION_DENIED:
document.getElementById("resultLocal").innerHTML="Usuário rejeitou a solicitação de Geolocalização."
break;
case error.POSITION_UNAVAILABLE:
document.getElementById("resultLocal").innerHTML="Localização indisponível."
break;
case error.TIMEOUT:
document.getElementById("resultLocal").innerHTML="A requisição expirou."
break;
case error.UNKNOWN_ERROR:
document.getElementById("resultLocal").innerHTML="Algum erro desconhecido aconteceu."
break;
}
}Discussão (0)
Carregando comentários...