我已经创建了一个显示地图的应用。但我想只显示地图的一部分,当我点击地图的任何部分时,我的应用程序应缩放到我点击的位置,并仅存储放大的地图部分(不是整个地图)图像文件,以便我以后可以访问它。
在Android ADT捆绑Android v2中进行我的应用。我可以显示整个地图,也可以缩放到我点击的地图部分,但我想捕捉缩放的部分并存储为图像文件。
答案 0 :(得分:0)
您可以使用地图的快照方法,您必须实施callback
方法并将其应用于地图对象,这是一个示例:
public void captureMapScreen() {
SnapshotReadyCallback callback = new SnapshotReadyCallback() {
@Override
public void onSnapshotReady(Bitmap snapshot) {
try {
mView.setDrawingCacheEnabled(true);
Bitmap backBitmap = mView.getDrawingCache();
Bitmap bmOverlay = Bitmap.createBitmap(
backBitmap.getWidth(), backBitmap.getHeight(),
backBitmap.getConfig());
Canvas canvas = new Canvas(bmOverlay);
canvas.drawBitmap(snapshot, new Matrix(), null);
canvas.drawBitmap(backBitmap, 0, 0, null);
FileOutputStream out = new FileOutputStream(
Environment.getExternalStorageDirectory()
+ "/MapScreenShot"
+ System.currentTimeMillis() + ".png");
bmOverlay.compress(Bitmap.CompressFormat.PNG, 90, out);
} catch (Exception e) {
e.printStackTrace();
}
}
};
mMap.snapshot(callback);
}