-
Conteúdo Similar
-
Por Alan Quidornne
Olá Amigos,
Tenho enfrentado uma séria dificuldade ao utilizar o serviço "Autocomplete" do Google Maps API.
Estou desenvolvendo um sistema de reserva de transfers(viagens de carro executivo) na qual o usuário informa a origem e destino de sua viagem e o sistema integrado com o Google Maps calcula o preço da viagem em questão .
A dificuldade que estou tendo é limitar a exibição dos resultados do Autocomplete para locais restritos ao estado do Rio de Janeiro.
Consigo tranquilamente limitar por país, mas para o território do Rio de Janeiro não consegui achar nenhuma função na documentação oficial que me atendesse nessa questão.
Segue código do autocomplete.
function initialize() { var options = { componentRestrictions: { country : "BR" } }; directionsService = new google.maps.DirectionsService(); var inputFrom = document.getElementById('from'); var autocompleteFrom = new google.maps.places.Autocomplete(inputFrom, options); autocompleteFrom.addListener('place_changed', function() { var place = autocompleteFrom.getPlace(); placeId1 = place.place_id; }); var inputTo = document.getElementById('to'); var autocompleteTo = new google.maps.places.Autocomplete(inputTo, options); autocompleteTo.addListener('place_changed', function() { var place = autocompleteTo.getPlace(); placeId2 = place.place_id; }); } Se alguém souber e puder fazer a gentileza de me auxiliar nessa questão, ficarei bastante agradecido.
-
Por Gabriel ''O Show''
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; } }
-