Android:如何获取地图快照?

时间:2014-09-29 10:30:42

标签: android google-maps

我想显示地图快照而不在UI上显示实际地图。在将地图加载到UI后,我成功获取快照。所以我只想知道是否可以在后台加载地图并获取快照,只需在UI上显示该快照,就像Google现在一样。

2 个答案:

答案 0 :(得分:2)

使用此代码获取静态地图

String url = String.format(
        "http://maps.google.com/maps/api/staticmap?center=%f,%f&zoom=16&size=%dx300&sensor=false&key=%s",
        lat,
        lon,
        imageWidth,
        context.getResources().getString(R.string.mapApiKey2)
    );

    Bitmap bmp = null;
    HttpClient httpclient = new DefaultHttpClient();
    HttpGet request = new HttpGet(url);

    InputStream in;
    try {
        in = httpclient.execute(request).getEntity().getContent();
        bmp = BitmapFactory.decodeStream(in);
        in.close();
    } catch (IllegalStateException e) {
        e.printStackTrace();
    } catch (ClientProtocolException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }

    return bmp;

替换lat,lon和imageWidth,这会返回一个bmp。 使用此代码创建一个函数

答案 1 :(得分:1)

我想您的问题是,Google的静态地图

静态地图通过指定地图必须显示的位置和地图的大小来为您提供地图快照

例如: http://maps.googleapis.com/maps/api/staticmap?center=Brooklyn+Bridge,New+York,NY&zoom=13&size=600x300 This maps shown Brooklyn as center with size of 600x300

此地图显示布鲁克林为中心,大小为600x300

有关更多api和示例,请参阅here