错误请求(错误400)在Android中获取静态地图

时间:2014-05-31 14:23:08

标签: android google-static-maps

我试图从地图中获取静态图片并放入我的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);
    }

}

String for test

我需要钥匙吗?为什么我不需要在浏览器中使用密钥?

1 个答案:

答案 0 :(得分:0)

您发送给Google的网址中包含一个奇怪的字符。在发送之前,在它上面运行一个URLEncode.encode(),或者如果你总是展示圣保罗,你可以说“圣保罗”并让谷歌弄明白,或“S%C3%A3o%20Paulo”。我个人认为第一个不容易出错,但这取决于你。