我正在尝试从地图上获取静态图像,然后放在我的Android布局上。因此,在寻找它的过程中,我发现了一段有关Google静态地图的代码。太棒了!我已经在PC上尝试了一些URL,它运行良好!
但是我的问题是当我将URL放入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);
}
}
我需要钥匙吗?为什么我不需要在浏览器中进行操作的密钥?
您发送给Google的网址中包含一个奇怪的字符。发送之前,请在其URLEncode.encode()
上运行,或者如果您始终显示圣保罗,则可以说“圣保罗”,然后让Google找出来,或者说“ S%C3%A3o%20Paulo”。我个人认为第一个不太容易出错,但这取决于您。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句