Buscando rotas no googlemaps (getDIrections)

3 respostas
leandroToledo

Meu projeto web pra faculdade eh o seguinte... eu tenho no meu BD uma tabela "PEDIDO", e para cada pedido eu tenho uma rota na tabela "ROTA". Entao eu tenho q pegar soh as latitudes, longitudes, descricao, distancia e distanciaTotal e coloca na minha tabela "ROTA".

Já tentei de 2 maneiras, e as 2 sem sucesso.
1º Pelo XStream esta me dando um erro de que nao esta conseguindo fazer o parse do meu xml. Na verdade achei meio complicado pois tenho q fazer uma classe pra cada tag do meu xml... assim eu fiz 5 classes. E fui colocando ela na mesma formatação do xml (igual tah no exemplo do site oficial) [/url]http://xstream.codehaus.org/alias-tutorial.html[url]

2º Pelo DocumentBuilder esta voltando o objeto "doc" = null.

//CODIGO QUE CONSULTA O SITE DO GOOGLEMAPS  
 Public List<?> consultarRota(String origem, String destino) throws SAXException, IOException, ParserConfigurationException, XPathExpressionException{  
       
     URL url = new URL ("http:/maps.google.com.br/maps?q=de" + origem + "para" + destino + "&output=kml&view=text");  
     HttpURLConnection connection1 = (HttpURLConnection) url.openConnection();  
     connection1.connect(); //aqui apresenta o erro.  
       
     InputStream input = connection1.getInputStream();  
        
     XStream xStream = new XStream();  
     xStream.alias("name", name.class);  
     xStream.alias("latitude", name.class);  
     xStream.alias("longitude", name.class);  
    List<?> lista = (List<?>) xStream.fromXML(input);  
       
     return lista;  
}
DocumentBuilderFactory domFactory = DocumentBuilderFactory.newInstance();  
         domFactory.setNamespaceAware(true);   
         DocumentBuilder builder = domFactory.newDocumentBuilder();  
         Document doc = builder.parse("http:/maps.google.com.br/maps?q=de%20" + origem + "%20para%20" + destino + "&output=kml&view=text"); //AQUI O obj "doc" esta vindo null
           
         XPathFactory factory = XPathFactory.newInstance();  
         XPath xpath = factory.newXPath();  
         XPathExpression expr = xpath.compile("/kml/text()");  
   
         Object result = expr.evaluate(doc, XPathConstants.NODESET);  
         NodeList nodes = (NodeList) result;  
         for (int i = 0; i < nodes.getLength(); i++) {  
             rota1.add(nodes.item(i).getNodeValue());   
         }
O meu objeto "doc" esta voltando nulo... e não eh lancado nenhuma exception e o objeto fica null. Acho que por ambas maneiras deve ser alguma boberinha.

Alguem sabe como posso fazer isto?? Sera q se eu abandonar estes modelos que já estao quase prontos e ir tentar fazer pela API do googlemaps eh melhor?

Obrigado.
Abraço.

3 Respostas

kemperacc

Eu fiz um teste e a url ficou assim:

http://maps.google.com.br/maps?f=d&source=s_d&saddr=Rua+Itamarandiba,+331,+Divin%C3%B3polis±+Minas+Gerais&daddr=Avenida+Ant%C3%B4nio+Ol%C3%ADmpio+de+Morais,+545,+Divin%C3%B3polis±+Minas+Gerais&hl=pt-BR&geocode=&mra=ls&sll=-14.179186,-50.449219&sspn=106.029235,227.285156&ie=UTF8&z=15&output=kml

Obs - O GUJ CORTOU A URL, CLIQUE COM O DIREITO E ESCOLHA COPIAR ENDERECO DO LINK (ou algo assim)

leandroToledo

joguei esta sua url de modo estatio mesmo… e ainda assim nao funcionou… Tipo o obj “doc” fica null, mais nao eh lancado nenhuma exception nem nd… sera q é pq eu nao to usando a key??

Em asp.net eu consegui fazer isto bem sussa, mais em java tah ficando tenso ahuDHUS.

Sera que da pra com a api em java script pegar esta rota passo a passo?? pq eu presiso gravar no meu DB todas as direcoes tendeu?

vlvv

leandroToledo

niguem?

Criado 23 de abril de 2010
Ultima resposta 23 de abr. de 2010
Respostas 3
Participantes 2