1. 程式人生 > >BaiduMap SDK-地圖截圖功能實現

BaiduMap SDK-地圖截圖功能實現

BaiduMap提供了snapshot(SnapshotReadyCallback callback)來實現截圖功能,SnapshotReadyCallback回撥函式中會獲得截圖的Bitmap,可以對Bitmap進行操作;

        baiduMap = mapView.getMap();
        baiduMap.snapshot(new BaiduMap.SnapshotReadyCallback() {
            @Override
            public void onSnapshotReady(Bitmap snapBitmap) {
                try {
                    String pathStr = "/mnt/sdcard/baidumap/test" + System.currentTimeMillis() + ".png";
                    File file = new File(pathStr);
                    FileOutputStream outputStream = new FileOutputStream(file);
                    if (snapBitmap.compress(Bitmap.CompressFormat.PNG, 100, outputStream)) {
                        outputStream.flush();
                        outputStream.close();
                    }
                    Toast.makeText(getApplicationContext(), "地圖截圖成功,保持圖片為:" + pathStr, Toast.LENGTH_SHORT).show();
                } catch (Exception e) {
                    e.printStackTrace();
                    Toast.makeText(getApplicationContext(), "截圖儲存失敗!" , Toast.LENGTH_SHORT).show();
                }
            }
        });