如何解决如何拍摄谷歌地图的快照?
| 我需要拍摄谷歌地图的快照并保存在本地数据库中。请帮助我拍摄谷歌地图的快照。 谢谢, 莫纳利解决方法
您可以http://code.google.com/p/android-screenshot-library/查看该库。它在后台运行,可以让您无需root即可制作屏幕截图。
,除非手机已扎根(没有相应的代码),否则您无法在应用程序内部制作打印屏幕。
但是,您可以通过仿真器制作打印屏幕,但这不是这里的问题。
为了完整性:
模拟器打印屏幕
您必须通过USB连接手机,转到Eclipse中的Debug透视图,选择\“ Devices \”选项卡,在列表中选择您的设备,然后单击\“ Screen Capture \”图标。
,在按钮单击事件中定义功能;
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();
}
, public void getSnapShot(){
GoogleMap.SnapshotReadyCallback callback=new GoogleMap.SnapshotReadyCallback() {
@Override
public void onSnapshotReady(Bitmap bitmap) {
}
};
google_Map.snapshot(callback);
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。