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.
Cara da uma olhada nesse link acho que pode te ajudar
http://code.google.com/intl/pt-BR/apis/maps/index.html
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.
da uma olhada nesse
http://code.google.com/intl/pt-BR/apis/maps/documentation/webservices/index.html
com ele vc faz a assinatura e abre o google maps, tem um exemplo em java la em baixo
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:
[code]public class abrirGoogleMaps {
//rmc dados;
static String url1 = "http://maps.google.com.br/maps?hl=pt-br&biw=1600&bih=718&q=";
static String url2 = "%2C";
static String url3 = "&um=1&ie=UTF-8&sa=N&tab=wl";
static String latitude = "-20";
static String longitude = "-40";
static String urlFinal = url1+latitude+url2+longitude+url3;
public static void main (String [] agrs) throws Exception{
abreNavegador(urlFinal);
}
public static void abreNavegador(String url) throws Exception{
try {
URI uri = new URI(url);
Desktop desktop = null;
if (Desktop.isDesktopSupported()) {
desktop = Desktop.getDesktop();
}
if (desktop != null)
desktop.browse(uri);
} catch (IOException ioe) {
ioe.printStackTrace();
} catch (URISyntaxException use) {
use.printStackTrace();
}
}
}[/code]
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.
penso em toda hora em que o gps trocar o caminho ele manda as coordenadas e atualizar a pagina, algo assim
é, 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.
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 ?
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.
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
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
[code]
GoogleMaps
[/code]
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)
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.
Opa!
Utiliza o FileReader…
FilerReader fr = new FileReader(new File("C:/pasta/....../meu arquivo.txt"));
BufferedReader br= new BufferedReader(fr);
while(true){
String linha=br.readLine();// Lê cada linha do teu arquivo
if(linha==null)break;
}
br.close();
fr.close();
}
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.
Ta dando um erro:
[code]String html = “teste.”;
FileWriter writer = new FileWriter(nomeArquivo, true);
PrintWriter saida = new PrintWriter(writer, true);
saida.println(html);
saida.close();
writer.close();
FileReader fr = new FileReader(new File("/home/lucas/NetBeansProjects/LeitorGps/link.html"));
BufferedReader br = new BufferedReader(fr);
while (true) {
String linha = br.readLine(); // Lê cada linha do teu arquivo
if (linha == null) {
break;
}
br.close();
fr.close();
}[/code]
Ta dando erro nessa linha: String linha = br.readLine(); // Lê cada linha do teu arquivo
achei uma outra solução.
Runtime.getRuntime().exec("firefox /home/usuario/link.html");
Dessa forma já abre o firefox com o link que eu quero abrir, no caso aí tá indicando para abrir um html que eu criei, mas, poderia ser tmb:
Runtime.getRuntime().exec("firefox www.google.com.br");
Abraços.
Consegui fazer funcionar, gostaria da opinião para saber se ficou legal. Segue o código e mais abaixo explicarei os detalhes.
[code]public class abrirGoogleMaps {
static float latit = (float) -20.289219; //valor qualquer só para testar a aplicação
static float longi = (float) -40.292070; //valor qualquer só para testar a aplicação
static final String nomeArquivo = "link.html";
static boolean flag = true; //flag para executar o browser somente uma vez
public static void main(String[] agrs) throws Exception {
abreGoogleMaps();
}
public static void abreGoogleMaps() throws IOException, InterruptedException{
for (int i = 0; i <= 25000; i++) {
String urlFinal = "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";
String html = "<html> <title> GoogleMaps </title> <meta http-equiv='refresh' content='10'> <frameset rows='100%'><frame src='" + urlFinal + "/> </frameset> </html>";
FileWriter writer = new FileWriter(nomeArquivo, false); //true nao apaga o texto, false reescreve por cima.
PrintWriter saida = new PrintWriter(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ção
latit = (float) (latit - 0.0001);
longi = (float) (longi - 0.0001);
}
}
}[/code]
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.
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.
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.