Я не могу получить изображение с Google Map с помощью кэша чертежа в Android Studio
У меня есть этот код в макете:
<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);
1 ответ
Решение
Причина этого в том, что карта рисуется с использованием OpenGL, а данные пикселей хранятся в графическом процессоре.
Взгляните на метод GoogleMap.snapshot() Google Map, чтобы сделать снимок экрана карты.