Bom dia galera, estou precisando de uma ajuda para realizar uma tarefa aqui no serviço.
preciso jogar uma latitude e uma longitude capturada pelo meu gps e jogar esses valores no google maps para abrir as coordenadas.
Referente a esses valores (latitude e longitude), já tenho tudo funcionando certinho, só preciso agora saber a partir desses valores, como usá-los para abrir no googlemaps.
Resumindo: pegar 2 valores e abri-los no googlemaps.
Aguardo uma ajuda, obrigado.
Abraços.
Será que só tem essas APIs para javaScript e Flash?
No meu caso estou usando Java. Uma aplicação Java.
Poderia ser tmb uma forma de jogar uma String em um campo de um site, teria como fazer isso?
Exemplo:
abro o site do google e no campo de busca eu jogar uma palavra (String) para realizar a busca
Isso seria possivel? porque eu poderia pegar minha latitude e longitude e transformar em uma String e daí realizar minha busca.
Abraços.
com ele vc faz a assinatura e abre o google maps, tem um exemplo em java la em baixo
L
lucasdona
Consegui fazer, mas com uma ideia diferente. Criei um método para abrir um link e nesse link já contendo a coordenada para abrir direto no google maps.
Seguinte:
o que ele faz? url1, url2, url3, latitude e longitude que compõe o endereço, juntando tudo abre o link correspondente à coordenada conforme latitude e longitude.
e o método abreNavegador() se encarrega de abrir o link no browser padrão.
Agora só falta uma coisa, depois que eu abro esse link, a posição do gps pode mudar (carro em movimento por exemplo) e logo teria que atualizar esta informação.
Como eu faria para, por exemplo, através da minha mesma aplicação java dar esse refresh de 10 em 10 segundos.
P
Polverini
penso em toda hora em que o gps trocar o caminho ele manda as coordenadas e atualizar a pagina, algo assim
L
lucasdona
é, nisso eu tava pensando, mas agora veio uma coisa na cabeça. Se a coordenada mudar, o link tmb vai mudar, então teria que abrir outro link,seria ± assim:
link_1 = coordenada_1
ai passou 10 minutos e o carro andou 5 km.
link_2 = a nova coordenada.
Teria que fechar o firefox e reabrir com o novo link, mas aí fica feio ne, ficar abrindo e fechando o firefox toda hr q mudar o local do gps, teria que fazer uma forma de o link atualizar sem fechar o firefox. Só um refresh não adiantaria…
Nun faço a minima ideia de como fazer isso, auheuaheuha, mas, se achar alguma coisa posto aqui, vlw galera.
Abraços.
P
Polverini
que tal criar uma pagina web ai dentro dela vc coloca um iframe e vai atualizando o endereço e o iframe por ajax toda vez que houver uma alteração ?
L
lucasdona
Poderia ser, mas nao saco nada de ajax, e essa coordenada (latitude e longitude) que tenho que obter, é através de uma aplicação java.
Daria para fazer isso? se sim, me dê algumas dicas sobre iframa, ajax, pois nao trabalho com isso.
Obrigado pela ajuda, abraços.
P
Polverini
E se vc criar um navegador só para isso ? da uma olhada nesse código http://www.guj.com.br/java/10444-navegador-java (não sei se funciona), é uma maneira de abrir o site sem programar em java web
L
lucasdona
Depois de pensar muito aqui, acho q achei uma solução pro meu problema.
Gostaria de algumas opiniões para ver se ficou meio gambiarrado ou nao.
1º Passo: Gerando um arquivo.html (File) na aplicação Java
O que esse html faz? se vc abri-lo no firefox, será aberto o site do google e de 5 em 5 segundos ele será atualizado
2º Passo: Editar ou criar um novo arquivo.html com o novo link.
Então, no proximo refresh do firefox, ele já irá buscar o novo link que foi alterado no arquivo.html
E ai, acha que fica legal ou ficou POG? (Programação Orientada a Gambiarra)
P
Polverini
Se funcionar fica legal
L
lucasdona
hahaha, acho q consegui, falta só eu abrir meu arquivo.
como faço para abrir um arquivo na minha aplicação Java?
exemplo, em certo momento la eu quero abrir um arquivo.txt, como eu faço para abrir esse arquivo?
Abraços.
I
igor_jua
Opa!
Utiliza o FileReader…
FilerReaderfr=newFileReader(newFile("C:/pasta/....../meu arquivo.txt"));BufferedReaderbr=newBufferedReader(fr);while(true){Stringlinha=br.readLine();// Lê cada linha do teu arquivoif(linha==null)break;}br.close();fr.close();}
L
lucasdona
Pow, vlw, sempre a galera do GUJ me ajudando aqui, quando acabar posto o código aqui pra galera dar uma olhada, vai que serve pra alguém.
Abraços.
L
lucasdona
Ta dando um erro:
Stringhtml="teste.";FileWriterwriter=newFileWriter(nomeArquivo,true);PrintWritersaida=newPrintWriter(writer,true);saida.println(html);saida.close();writer.close();FileReaderfr=newFileReader(newFile("/home/lucas/NetBeansProjects/LeitorGps/link.html"));BufferedReaderbr=newBufferedReader(fr);while(true){Stringlinha=br.readLine();// Lê cada linha do teu arquivoif(linha==null){break;}br.close();fr.close();}
Ta dando erro nessa linha: String linha = br.readLine(); // Lê cada linha do teu arquivo
Consegui fazer funcionar, gostaria da opinião para saber se ficou legal. Segue o código e mais abaixo explicarei os detalhes.
publicclassabrirGoogleMaps{staticfloatlatit=(float)-20.289219;//valor qualquer só para testar a aplicaçãostaticfloatlongi=(float)-40.292070;//valor qualquer só para testar a aplicaçãostaticfinalStringnomeArquivo="link.html";staticbooleanflag=true;//flag para executar o browser somente uma vezpublicstaticvoidmain(String[]agrs)throwsException{abreGoogleMaps();}publicstaticvoidabreGoogleMaps()throwsIOException,InterruptedException{for(inti=0;i<=25000;i++){StringurlFinal="http://maps.google.com.br/maps?hl=pt-br&biw=1600&bih=718&q="+String.valueOf(latit)+"%2C"+String.valueOf(longi)+"&um=1&ie=UTF-8&sa=N&tab=wl";Stringhtml="<html> <title> GoogleMaps </title> <meta http-equiv='refresh' content='10'> <frameset rows='100%'><frame src='"+urlFinal+"/> </frameset> </html>";FileWriterwriter=newFileWriter(nomeArquivo,false);//true nao apaga o texto, false reescreve por cima.PrintWritersaida=newPrintWriter(writer,false);saida.println();saida.println(html);saida.close();writer.close();System.out.println((i+1)+"a vez: Latitude: "+latit+" ||| Longitude: "+longi);// flag para o firefox ser executado somente uma vez.if(flag){Runtime.getRuntime().exec("firefox /home/lucas/NetBeansProjects/LeitorGps/link.html");flag=false;}Thread.sleep(10000);// tempo de 10 em 10 seg para atualizar a posiçãolatit=(float)(latit-0.0001);longi=(float)(longi-0.0001);}}}
String urlFinal é o link já atualizado com as novas coordenadas que serão mostradas no mapa (juntando latit e longit formam o link responsável por abrir o mapa com a posição desejada).
String html é uma string que será o conteudo do arquivo "link.html" e que dentro desse link.html terá o endereço "urlFinal" mostrado acima.
Então, depois de criado o arquivo, executo esse "link.html" no firefox e já abre o site que configurei junto com as configurações.
Por que criei esse link.html? podem ver que ele contém algumas configurações como, dar um refresh de tempo em tempo, para assim atualizar minha nova posição no mapa.
Bom, é isso e assim o for vai rodopiando e alterando o valor da minha coordenada em -0.0001 e assim meu ponto vai andando no mapa.
L
lucasdona
hahaha, apareceu um problema que eu não esperava, se testo ela somente, executando pelo netbeans, funciona normal. Se gero um .jar a aplicação funciona, só nun abre o navegador, pqp!!!
Executo ela pelo terminal, java -jar aplicacao.jar, abre normal, até aparece as mensagens que coloquei para ver o andamento da aplicação, ela finaliza com sucesso, mas o navegador nun abre igual quando executo ela pelo netbeans.
Alguém tem idéia do que pode ser?
Abraços.
L
lucasdona
Já achei o erro, tava executando o .jar como root (pelo terminal do linux), executei o comando como usuário normal e funcionou sem problemas.
Abraços.
A
amaica
Ola lucasdona se puderes compartilhar o codigo fico muito agredecido, estou com um prolema semelhante
L
lucasdona
Boa tarde amaica, o código é esse acima mesmo, o que tá faltando é a parte que recebe os dados do gps, esse infelizmente eu não tenho mais o código em java. Mas… tenho um novo código que fiz em python (não gostei muito de trabalhar com serial no java), que informa a posição e outras informações via socket, daria pra fazer esse código acima em java recebendo a posição via socket, trabalhando a parte de gps no python e o mapa em java. Mas lembrando, esse código acima não tá muito bom pra se trabalhar com mapas, fiz só pra testes mesmo, já que ele dá um refresh no mapa com as novas posições. Se for isso mesmo o que vc precisa a gente pode ver alguma coisa. outra coisa, código ta todo implementado pra rodar no Linux.
Abraços.
A
amaica
Ola obrigado pelo retorno, na verdade meu objetivo é mais simples, preciso buscar a latitude e longitude com base no enderço.