Я хочу иметь возможность сделать снимок экрана определенного места на картах Google без фактической загрузки карты Google на экран. Если есть способ, которым карта Google может сделать снимок экрана в фоновом режиме, это было бы здорово.
Как сделать снимок Google Maps, не отображая карту
Ответы (1)
Существует упрощенный режим:
Google Maps Android API может использовать статическое изображение в качестве карты в упрощенном режиме.
Карта в упрощенном режиме — это растровое изображение карты в указанном месте и с заданным уровнем масштабирования. Упрощенный режим поддерживает все типы карт (обычные, гибридные, спутниковые, ландшафтные) и часть функций, предоставляемых полным API. Упрощенный режим полезен, когда вы хотите предоставить несколько карт в потоке или карту, которая слишком мала для поддержки значимого взаимодействия.
Пример:
Как атрибут XML для MapView или MapFragment
<fragment xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:map="http://schemas.android.com/apk/res-auto"
android:name="com.google.android.gms.maps.MapFragment"
android:id="@+id/map"
android:layout_width="match_parent"
android:layout_height="match_parent"
map:cameraZoom="13"
map:mapType="normal"
map:liteMode="true"/>
В объекте GoogleMapOptions
GoogleMapOptions options = new GoogleMapOptions().liteMode(true);
Здесь можно найти поддерживаемые функции.
Кроме того, я рекомендую прочитать: Android Google Map для отображения в виде изображения
Вы можете использовать встроенный метод моментальных снимков Google Maps, чтобы сделать предварительный просмотр и отобразить его в ImageView.