使用Universal Image Loader显示谷歌静态地图时的FileNotFoundException

时间:2015-06-18 10:07:10

标签: 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);

例外:

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)

似乎谷歌静态地图可以在ImageView中使用AsyncTask显示,如下文所示:Use Google's Static Maps API to illustrate location in your Android apps

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

有什么线索吗?

1 个答案:

答案 0 :(得分:1)

即使我的代码没有变化,它现在也能正常工作。我将静态地图的大小调整为100x40并删除格式参数,它有效,网址如下:http://maps.googleapis.com/maps/api/staticmap?center=40.714728,-73.998672&zoom=13&size=100x40&markers=40.714728,-73.998672

但是,当我添加格式参数并将大小恢复为1000x400时,它仍能正常工作。我想这是我的VPN引起的?发生FileNotFoundException时,我的Google地图可与我的VPN配合使用。

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