当我使用下面的 url 在 android 上的 map 上绘制路线时:
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");
调用 urlConnection.getInputStream 时抛出异常
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());
最佳答案
IIRC Android 的 XML 文档解析器无法处理阻塞的 InputStream
。最好使用为您下载的 parse() 版本,即:
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
doc = db.parse(urlString.toString());
关于android - 无法在 android 中打开来自 google map api 的流?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3878695/