android - 使用 Universal Image Loader 显示谷歌静态 map 时出现 FileNotFoundException

标签 android filenotfoundexception universal-image-loader

我的代码:

  mapThumbUrl = "http://maps.googleapis.com/maps/api/staticmap?center=40.714728,-73.998672&zoom=13&size=1000x400&format=jpg&markers=40.714728,-73.998672";
  ImageLoader.getInstance().displayImage(mapThumbUrl, holder.image);

异常(exception):

http://maps.googleapis.com/maps/api/staticmap?center=40.714728,-73.998672&zoom=13&size=1000x400&format=jpg&markers=40.714728,-73.998672
java.io.FileNotFoundException: http://maps.googleapis.com/maps/api/staticmap?center=40.714728,-73.998672&zoom=13&size=1000x400&format=jpg&markers=40.714728,-73.998672
        at com.android.okhttp.internal.http.HttpURLConnectionImpl.getInputStream(HttpURLConnectionImpl.java:186)
        at com.nostra13.universalimageloader.core.download.BaseImageDownloader.getStreamFromNetwork(BaseImageDownloader.java:122)
        at com.nostra13.universalimageloader.core.download.BaseImageDownloader.getStream(BaseImageDownloader.java:86)
        at com.nostra13.universalimageloader.core.decode.BaseImageDecoder.getImageStream(BaseImageDecoder.java:93)
        at com.nostra13.universalimageloader.core.decode.BaseImageDecoder.decode(BaseImageDecoder.java:73)
        at com.nostra13.universalimageloader.core.LoadAndDisplayImageTask.decodeImage(LoadAndDisplayImageTask.java:264)
        at com.nostra13.universalimageloader.core.LoadAndDisplayImageTask.tryLoadBitmap(LoadAndDisplayImageTask.java:237)
        at com.nostra13.universalimageloader.core.LoadAndDisplayImageTask.run(LoadAndDisplayImageTask.java:135)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
        at java.lang.Thread.run(Thread.java:841)

Google 静态 map 似乎可以使用 AsyncTask 在 ImageView 中显示,如这篇文章所示:Use Google's Static Maps API to illustrate location in your Android apps

但我想使用 UIL 而不是 AsyncTask,因为图像处理在我的应用程序中交给了 UIL。

有什么线索吗?

最佳答案

即使我的代码没有更改,它现在也能正常工作。我将静态 map 的大小调整为 100x40 并删除了格式参数,它可以工作并且 url 是这样的:http://maps.googleapis.com/maps/api/staticmap?center=40.714728,-73.998672&zoom=13&size=100x40&markers=40.714728,-73.998672

但是,当我添加格式参数并将大小恢复为 1000x400 时,它仍然可以正常工作。我想这是由我的 VPN 引起的?当 FileNotFoundException 发生时,我的谷歌地图与我的 VPN 配合得很好。

我想这个问题可能对中国的开发者有帮助。

关于android - 使用 Universal Image Loader 显示谷歌静态 map 时出现 FileNotFoundException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30912388/

相关文章:

Android ICS 浏览器固定标题样式消失

java - 如何停止执行直到所有异步任务在android中完成执行?

java - Maven/ Spring /Java : ClassNotFoundException - but I know class is there

Python 的 "open()"为 "file not found"引发不同的错误 - 如何处理这两个异常?

android - 修复 Universal Image Loader : "Try to initialize ImageLoader which had already been initialized before. Universal image loader" 的警告

java - 如何通过Android套接字获取输入的字符到java服务器

android - 更改 android View 的位置似乎会更改动画枢轴

java - 使用 Spring 资源加载器通过 Maven 运行的测试用例中的 FileNotFoundException

android - 通用图像加载器保持比率

android - 使用 Universal Image Loader 加载后调整位图大小