示例中心
功能在线体验
控制台

高德 开发 Android 地图SDK 开发指南 与地图交互 地图截屏功能

更新时间:2017年01月22日

地图 SDK 支持对当前屏幕显示区域进行截屏,可以对地图、覆盖物(包含信息窗口)、Logo进行截取屏幕,这其中不包括地图控件、Toast窗口。

详细示例如下:

/**
 * 对地图进行截屏
*/
aMap.getMapScreenShot(new OnMapScreenShotListener() {
        @Override
        public void onMapScreenShot(Bitmap bitmap) {

        }

        @Override
        public void onMapScreenShot(Bitmap bitmap, int status) {
          SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
          if(null == bitmap){
            return;
          }
          try {
            FileOutputStream fos = new FileOutputStream(
                Environment.getExternalStorageDirectory() + "/test_"
                    + sdf.format(new Date()) + ".png");
            boolean b = bitmap.compress(CompressFormat.PNG, 100, fos);
            try {
              fos.flush();
            } catch (IOException e) {
              e.printStackTrace();
            }
            try {
              fos.close();
            } catch (IOException e) {
              e.printStackTrace();
            }
            StringBuffer buffer = new StringBuffer();
            if (b)
              buffer.append("截屏成功 ");
            else {
              buffer.append("截屏失败 ");
            }
            if (status != 0)
              buffer.append("地图渲染完成,截屏无网格");
            else {
              buffer.append( "地图未渲染完成,截屏有网格");
            }
            ToastUtil.show(getApplicationContext(), buffer.toString());

          } catch (FileNotFoundException e) {
            e.printStackTrace();
          }

        }
      });
示例中心 功能
在线体验
常见问题