2010-10-07 41 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