2010-10-07 48 views
2

当我使用下面的URL在Android上的地图绘制路线:当urlConnection.getInputStream被称为无法打开来自谷歌地图API在Android的流?

StringBuilder urlString = new StringBuilder(); 
    urlString.append("http://maps.google.com/maps?f=d&hl=en"); 
    urlString.append("&saddr="); 
    urlString.append(src); 
    urlString.append("&daddr=");// to 
    urlString.append(dest); 
    urlString.append("&ie=UTF8&0&om=0&output=kml"); 

它投掷例外。

HttpURLConnection urlConnection=(HttpURLConnection)url.openConnection(); 
     urlConnection.setRequestMethod("GET"); 
     urlConnection.setDoOutput(true); 
     urlConnection.setDoInput(true); 
     urlConnection.connect(); 

     DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); 
     DocumentBuilder db = dbf.newDocumentBuilder(); 
     doc = db.parse(urlConnection.getInputStream()); 

新代码:

Document doc=null; 

     try 
     { 

      String url = getUrl(p, q); 
      DocumentBuilderFactory dbfAdd = DocumentBuilderFactory.newInstance(); 
      DocumentBuilder dbAdd = dbfAdd.newDocumentBuilder(); 
      doc = dbAdd.parse(url.toString()); 
+0

可以请你告诉例外也 – Mikpa 2010-11-28 21:51:23

+0

以前它是“无法打开流”,现在是“的文件意外结束” 。 – Sandy 2010-11-29 04:53:37

回答

0

IIRC Android的XML文档解析器不能处理的InputStream哪些块。更好地使用它执行下载为你解析()版本,即:

DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); 
DocumentBuilder db = dbf.newDocumentBuilder(); 
doc = db.parse(urlString.toString()); 
+0

嗨thanx回复,但它的抛出异常“InputSource需要流或读者” – Sandy 2010-12-14 12:48:29

+0

在这里测试它在2.2,它工作正常。你在运行什么版本? – 2010-12-14 13:03:33

+0

我正在使用版本2.0。 – Sandy 2010-12-15 13:08:47