我需要拍摄谷歌地图的快照并保存在本地数据库中。请帮我拍一下谷歌地图的快照。
谢谢, Monali
答案 0 :(得分:2)
您不能在应用内部制作打印屏幕,除非手机已植根(没有相应的代码)。
然而,您可以通过模拟器制作打印屏幕,但这不是问题。
为了完整起见:
仿真器打印屏幕
您必须通过USB连接手机,转到Eclipse中的Debug透视图,选择“Devices”选项卡,在列表中选择您的设备,然后单击“Screen Capture”图标。
答案 1 :(得分:0)
您可以看到此库http://code.google.com/p/android-screenshot-library/。它在后台运行,可以让你在没有root的情况下制作截图。
答案 2 :(得分:0)
在按钮点击事件中定义功能;
Button btnCap = (Button) findViewById(R.id.btnTakeScreenshot);
btnCap.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
try {
CaptureMapScreen();
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
}
});
这是一个函数CaptureMapScreen()
public void CaptureMapScreen()
{
SnapshotReadyCallback callback = new SnapshotReadyCallback() {
Bitmap bitmap;
@Override
public void onSnapshotReady(Bitmap snapshot) {
// TODO Auto-generated method stub
bitmap = snapshot;
try {
FileOutputStream out = new FileOutputStream("/mnt/sdcard/"
+ "MyMapScreen" + System.currentTimeMillis()
+ ".png");
// above "/mnt ..... png" => is a storage path (where image will be stored) + name of image you can customize as per your Requirement
bitmap.compress(Bitmap.CompressFormat.PNG, 90, out);
} catch (Exception e) {
e.printStackTrace();
}
}
};
myMap.snapshot(callback);
// myMap is object of GoogleMap +> GoogleMap myMap;
// which is initialized in onCreate() =>
// myMap = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map_pass_home_call)).getMap();
}
答案 3 :(得分:0)
public void getSnapShot(){
GoogleMap.SnapshotReadyCallback callback=new GoogleMap.SnapshotReadyCallback() {
@Override
public void onSnapshotReady(Bitmap bitmap) {
}
};
google_Map.snapshot(callback);
}