Buscar no banco de dados latitude e longitude

23 respostas
java
C

Galera eu to com um problema. Eu to criando um compilador, que se resume basicamente em furtos de carros. Eu quero fazer uma busca no Banco de dados sobre a latitude e a longitude de um veículo, e que a cada 8 segundos ele atualize, e que mostre isso no mapa. porém não faço a minima ideia por onde começar, se alguém puder ajudar eu agradeço

Eu uso o postgresSQL e é Java(desktop)

23 Respostas

R

https://www.teamdev.com/jxmaps

S

Compilador? Esse compilador vai compilar o que e produzir o que exatamente?

E você já tem o hardware no veículo enviando a latitude e longitude dele para um banco de dados?

Dá pra abrir o Google Maps na latitude e longitude desejada da seguinte forma:

https://www.google.com/maps/search/?api=1&query=<latitude>,<longitude>
C

Esqueça a parte do compilador. Sim já tenho enviando, agr quero saber como trago pro mapa. N é querendo questionar n mas, realmente é ? com <>

S

Você substitui o <latitude> e o <longitude> pelos valores que você leu.

C

Não entendi.Desculpe, leigo

W

Essa latitude e longitude já esta no banco? você pegando elas e jogando no Google retorna a posição correta ?

C

Já está. O que eu quero fazer como eu disse, é trazer essa lat e long no mapa, mostrando no mapa o local

W

Você vai precisar de uma KEY do Google e usar uma API deles, assim ficara mais fácil.

tem esse repositório no GitHub com as informações necessitarias para fazer isso.

C

No caso eu usei jxBrowser, peguei uma key de 1 mês pra fazer o teste

public final class GoogleMaps {

public static  void main (String[] args) {

try{

EngineOptions options =

EngineOptions.newBuilder(HARDWARE_ACCELERATED).licenseKey(" +

“”).build();
Engine navega = Engine.newInstance(options);


Browser browser = navega.newBrowser();

SwingUtilities.invokeLater(() -> {

BrowserView view = BrowserView.newInstance(browser);

JFrame frame = new JFrame();
frame.add(view, BorderLayout.CENTER);
frame.setSize(700, 500);
frame.setVisible(true);
browser.navigation().loadUrl("https://www.google.com.br/maps");
});
} catch (Exception ex){
   JOptionPane.showMessageDialog(null,"erro google maps"+ex);
}
}

}

R

Cara, você no final vai acabar fazendo o que te mandei no começo.

Você vai entrar no navegador, vai criar uma Key na API do Google maps, depois vai usar o JavaScript, não tem segredo, só procurar no Google “JavaScript Google maps”, vai criar um Index pra vc e depois abrir esse Index no jxbrowser. Quando vc conseguir fazer isso, eu te passo a Key do jxbrowser, que não tem validade

C

Cara meu trabalho não é java web, java Desktop

R

Exatamente amigo, o meu também. Só que você não pode depender de apenas uma tecnologia. Não existe API disso para o Java, se vc tá usando o jxbrowser, pode usar o JavaScript, tem o código pronto na internet!

R

https://developers.google.com/maps/documentation/javascript/markers

Você pode criar um index.html básico, só com as informações, pode criar e jogar na area de trabalho mesmo, só pra teste, depois você abre a página com o JXBrowser.

R

Olha:

Geo Localização

Código HTML:
https://developers.google.com/maps/documentation/javascript/examples/map-geolocation

O código do JX é um pouco dificil de achar, olha:

public Browser browser;
public BrowserView view;

public void abrirFrame(String URL) {
    String perfil = "C:\\qualquer pasta\\";

    BrowserContextParams params = new BrowserContextParams(perfil);
    BrowserPreferences.setChromiumSwitches("user-data-dir=" + perfil);
    BrowserContext context = new BrowserContext(params);

    browser = new Browser(context);
    view = new BrowserView(browser);

    JFrame frame = new JFrame();
    frame.add(view, BorderLayout.CENTER);
    frame.setSize(800, 600); //seta o tamanho que o jframe vai iniciar
    frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
    frame.setLocationRelativeTo(null); //vai iniciar no centro
    frame.setExtendedState(6); //vai iniciar maximizado
    frame.setUndecorated(true);
    frame.setVisible(true);

    //Mudar título do JFrame automaticamente
    browser.addTitleListener((TitleEvent evt) -> {
        frame.setTitle(evt.getTitle());
    });

    //Pegar o erro do console
    browser.addConsoleListener((ConsoleEvent evt) -> {
        System.out.println("LOG: " + evt.getMessage());
    });

    browser.loadURL(URL); //vai abrir a url que vc setar, mesmo ela estando no C:/
}
C

Bom cara a única coisa q eu consegui foi isso

C

E esse Codigo que vc me passou do jxbrowser n entendi. Quer dizer, entendi mas n consigo fazer a execução. Infelizmente faz pouco tempo q ingressei nessa de programação. Vlw pela ajuda.

C

Tem essa linha de código. Só colocar a URL DO MApa q ele funciona

public static void main(String[] args) {
// Create and initialize the Engine
EngineOptions options =
    EngineOptions.newBuilder(HARDWARE_ACCELERATED).licenseKey("\n" +
"").build();
Engine engine = Engine.newInstance(options);
 
// Create the Browser
Browser browser = engine.newBrowser();
 
SwingUtilities.invokeLater(() -> {
// Create the Swing BrowserView component
BrowserView view = BrowserView.newInstance(browser);
 
JFrame frame = new JFrame();
frame.add(view, BorderLayout.CENTER);
frame.setSize(700, 500);
frame.setVisible(true);
 
browser.navigation().loadUrl("https://www.google.com.br/maps");
});
}
C

assim

R

Você precisa de uma KEY do Maps.

Clica em YOUR_API_KEY

R

Vc pode fazer isso pra setar uma localização:

JButton setMarkerButton = new JButton("Set Marker");
setMarkerButton.addActionListener(new ActionListener() {
   public void actionPerformed(ActionEvent e) {
       browser.executeJavaScript("var myLatlng = new google.maps.LatLng(48.4431727,23.0488126);\n" +
               "var marker = new google.maps.Marker({\n" +
               "    position: myLatlng,\n" +
               "    map: map,\n" +
               "    title: 'Hello World!'\n" +
               "});");
   }
});
C

É eu fiz essa Key mas parece q n tá dando retorno. vou verificar mais uma vez, talvez tenha deixado passar algo, já retorno, vlw

C

Desculpa a demora, tive que resolver algumas coisas, mas consegui com que o mapa funcionasse. Agora n sei como fazer pra pegar esses dados e inserir no mapa. Eu li um artigo que fazia exatamente o que queria, porém a linguagem era C#

R

Joga o HTML no jxbrowser ao invés de abrir um arquivo.

Minha resposta acima está como setar a localização, troca a latitude e a longitude pelo o que vc tem no banco. Tô pelo celular agora, não tem como dar exemplos

Criado 24 de junho de 2019
Ultima resposta 2 de jul. de 2019
Respostas 23
Participantes 4