我试图从地图中获取静态图片并放入我的Android布局。所以,寻找它我发现了一个代码,谈论谷歌静态地图。真棒!我已经在我的电脑上尝试过一些网址,而且工作正常!
但我的问题是我在Android中放置网址来测试它。当我尝试获取输入流(图像)时,它给了我FileNotFoundExceptioin,因为当我尝试连接时,它向我发送了一个错误请求(错误400)
这是我的代码:
public class ImageLoadingTask extends AsyncTask<String, Void, Bitmap> {
@Override
protected Bitmap doInBackground(String... stringURL) {
Bitmap bmp = null;
try {
URL url = new URL(stringURL[0]);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setDoInput(true);
conn.connect();
InputStream is = conn.getInputStream();
BitmapFactory.Options options = new BitmapFactory.Options();
bmp = BitmapFactory.decodeStream(is, null, options);
} catch (IOException e) {
e.printStackTrace();
}
return bmp;
}
@Override
protected void onPostExecute(Bitmap result) {
mapView.setImageBitmap(result);
super.onPostExecute(result);
}
}
我需要钥匙吗?为什么我不需要在浏览器中使用密钥?
答案 0 :(得分:0)
您发送给Google的网址中包含一个奇怪的字符。在发送之前,在它上面运行一个URLEncode.encode()
,或者如果你总是展示圣保罗,你可以说“圣保罗”并让谷歌弄明白,或“S%C3%A3o%20Paulo”。我个人认为第一个不容易出错,但这取决于你。