我在布局中有这样的代码:
<FrameLayout>
<fragment
...
android:name="com.google.android.gms.maps.SupportMapFragment">
</fragment>
</FrameLayout>
但是当我尝试使用绘图缓存时,屏幕截图只有缩放栏(带有+和-按钮)和左上角的文本"Google"。我使用下一个代码获取图像:
View view = findViewById(R.id.frame);
view.setWillNotCacheDrawing(false);
view.destroyDrawingCache();
view.buildDrawingCache();
view.setDrawingCacheEnabled(true);
routeScreen = Bitmap.createBitmap(view.getDrawingCache());
view.setDrawingCacheEnabled(false);
这是因为地图是使用OpenGL绘制的,像素数据存储在GPU中。
看一下谷歌地图的GoogleMap.snapshot()方法,以便捕获地图的屏幕截图