Java + Google Maps

Pessoal estou procurando uma forma simples de utilizar a API do google maps, isso em java, para que eu consiga recuperar o trajeto em tempo real entre dois pontos.
Alguem pode me ajudar nisso?

Você não precisa usar a API em js pra isso, basta chamar um webservice (soap ou json) pra alguma API do google, tipo a directions:

https://developers.google.com/maps/documentation/directions/

[quote=Tchello] Você não precisa usar a API em js pra isso, basta chamar um webservice (soap ou json) pra alguma API do google, tipo a directions:

https://developers.google.com/maps/documentation/directions/[/quote]

Tchello, eu dei uma lida no link que você postou, eu sou iniciante na linguagem. Você poderia me dar um exemplo de código onde eu consigo informação sobre a distância de dois pontos em KM por exemplo? E no caso desse soap ou json, eu não tenho noção de como eu pego essa informação. Se você conseguisse um código simples, que consiga dar a distancia de dois pontos fixos para eu começar meu programa aqui, agradeceria. Obrigado. Se tiver algum link com um tutorial ajudaria bastante também, pois é meu projeto de faculdade.

Eu fiz com GWT e achei mão na roda!

Se estiver começando uma aplicação do zero, acho que vale a pena pensar a respeito!

Do contrário, vc vai ter que seguir os tutoriais ofericidos pela própria api.

[quote=RodrigoMarini_]Eu fiz com GWT e achei mão na roda!

Se estiver começando uma aplicação do zero, acho que vale a pena pensar a respeito!

Do contrário, vc vai ter que seguir os tutoriais ofericidos pela própria api.

[/quote]

Então o código que eu tenho até agora está assim:

import java.net.HttpURLConnection;
import java.net.URL;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import org.w3c.dom.Document;

public class Principal{

public static void main(String[] args) {

    String start = "sao%paulo";
    String finish = "belo%horizonte";

   
    System.out.println(calculateRoute(start,finish ));
}

private static String calculateRoute(String start, String finish){
    String result = "";
    String urlString = "http://maps.googleapis.com/maps/api/directions/json?sensor=false&origin="+start+"&destination="+finish;
    System.out.println(urlString);

    try{
        URL urlGoogleDirService = new URL(urlString);

        HttpURLConnection urlGoogleDirCon = (HttpURLConnection)urlGoogleDirService.openConnection();

        urlGoogleDirCon.setAllowUserInteraction( false );
        urlGoogleDirCon.setDoInput( true );
        urlGoogleDirCon.setDoOutput( false );
        urlGoogleDirCon.setUseCaches( true );
        urlGoogleDirCon.setRequestMethod("GET");
        urlGoogleDirCon.connect();

        DocumentBuilderFactory factoryDir = DocumentBuilderFactory.newInstance();
        DocumentBuilder parserDirInfo = factoryDir.newDocumentBuilder();
        Document docDir = parserDirInfo.parse(urlGoogleDirCon.getInputStream());

        urlGoogleDirCon.disconnect();
        result = docDir.toString();


    return result; 
    }

    catch(Exception e)
    {
        System.out.println(e);
        return null;
    }
 };

}

Ele está me retornando esse erro org.xml.sax.SAXParseException: Content is not allowed in prolog.
null agora eu não sei se estou importando uma biblioteca que não tem na IDE, se tem algum erro na requisição, sei que o resulta da string que faz a solicitação digitada no browser retorna corretamente o valores que estou procurando. Se puder me ajudar, desde já agradeço!!!

Cara, se vc acessar a URL que montou no código (http://maps.googleapis.com/maps/api/directions/json?sensor=false&origin=sao%paulo&destination=belo%horizonte), verá que o formato de retorno é um JSON e você vai precisar da biblioteca específica (json.org) para manipular o retorno no java.

A própria documentação do google explica tudo em português e deixa exemplos simples como o que você procura: https://developers.google.com/maps/documentation/localsearch/jsondevguide?hl=pt-br

Cara você conseguiu resolver este problema, tenho o mesmo problema. Se puder ajudar.