Maps SDK for Android dapat menampilkan gambar bitmap peta, yang menawarkan interaktivitas terbatas kepada pengguna. Peta ini disebut peta mode ringan.
Contoh kode
Repositori ApiDemos di GitHub mencakup contoh yang menunjukkan penggunaan mode ringan:
- LiteDemoActivity - Java: Dasar-dasar penggunaan peta mode ringan di Java
- LiteDemoActivity - Kotlin: Dasar-dasar penggunaan peta mode ringan di Kotlin
- LiteListDemoActivity - Java: Menampilkan peta secara efisien di ListView menggunakan mode ringan di Java
- LiteListDemoActivity - Kotlin: Menampilkan peta secara efisien di ListViews menggunakan mode ringan di Kotlin
Ringkasan mode ringan
Peta mode ringan adalah gambar bitmap peta pada lokasi dan tingkat zoom yang ditetapkan. Mode ringan mendukung semua jenis peta (normal, hibrid, satelit, medan) dan sekumpulan fungsi yang disediakan oleh API lengkap. Mode ringan berguna jika Anda ingin menyediakan sejumlah peta dalam satu aliran data, atau peta yang terlalu kecil untuk mendukung interaksi yang bermakna.
Pengguna yang sedang melihat peta tidak dapat melakukan zoom atau menggeser peta. Ikon di peta memberi pengguna akses untuk melihat peta di aplikasi seluler Google Maps dan meminta rute.
Menambahkan peta mode ringan
Mode ringan menggunakan class dan antarmuka yang sama seperti Google Maps Android API lengkap. Anda dapat menetapkan GoogleMap
ke mode ringan dengan cara berikut:
- Baik sebagai atribut XML untuk
MapView
atauMapFragment
- Maupun dalam objek
GoogleMapOptions
Sebagai atribut XML untuk MapView
atau 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"/>
Di objek GoogleMapOptions
Kotlin
val options = GoogleMapOptions() .liteMode(true)
Java
GoogleMapOptions options = new GoogleMapOptions() .liteMode(true);
Untuk mengetahui detail tentang menetapkan status awal peta, lihat panduan untuk objek peta.
Intent untuk meluncurkan tampilan peta atau permintaan rute
Secara default, toolbar di kanan bawah peta berisi ikon yang
memberikan akses ke tampilan peta atau permintaan rute di aplikasi seluler Google Maps.
Anda dapat menonaktifkan toolbar dengan memanggil
UiSettings.setMapToolbarEnabled(false)
. Untuk mengetahui detail selengkapnya, lihat dokumentasi toolbar.
Selain itu, secara default saat pengguna mengetuk peta, API akan memulai aplikasi seluler Google Maps.
Anda dapat menggantinya menggunakan GoogleMap.setOnMapClickListener()
untuk
menetapkan pemroses Anda sendiri. Anda juga dapat menonaktifkan peristiwa klik pada peta, dengan memanggil setClickable()
pada tampilan yang berisi MapView
atau MapFragment
. Untuk mengetahui detail mengenai kedua teknik ini, lihat dokumentasi peristiwa.
Peristiwa siklus proses
Saat menggunakan API dalam mode interaktif penuh, pengguna class MapView
harus meneruskan semua metode siklus proses aktivitas ke metode yang sesuai dalam class MapView
. Contoh metode siklus proses mencakup onCreate()
, onDestroy()
, onResume()
, dan onPause()
.
Saat menggunakan class MapView
dalam mode ringan, penerusan peristiwa siklus proses bersifat opsional, kecuali untuk situasi berikut:
- Anda wajib memanggil
onCreate()
, atau, tidak ada peta yang akan muncul. - Jika ingin menampilkan titik Lokasiku pada peta mode ringan dan menggunakan sumber lokasi default, Anda harus memanggil
onResume()
danonPause()
karena sumber lokasi hanya akan diperbarui di antara panggilan ini. Jika menggunakan sumber lokasi sendiri, Anda tidak perlu memanggil kedua metode ini.
Fitur API yang didukung
Tabel berikut menjelaskan perilaku peta mode ringan untuk setiap area fungsi API. Jika aplikasi memanggil metode yang tidak didukung dalam mode ringan, API akan mencatat pesan peringatan.
Fungsi | |
---|---|
Jenis peta | Didukung? Ya
Jenis
peta berikut tersedia melalui GoogleMapOptions.mapType() dan
GoogleMap.setMapType() : MAP_TYPE_NORMAL ,
MAP_TYPE_SATELLITE , MAP_TYPE_TERRAIN ,
MAP_TYPE_HYBRID , MAP_TYPE_NONE |
Polyline, poligon, lingkaran | Didukung? Ya
Fungsi mode ringan untuk
bentuk cocok dengan
API lengkap. |
Proyeksi | Didukung? Ya
Fungsi mode ringan untuk
Proyeksi
cocok dengan API lengkap. |
Lokasiku | Didukung? Ya
Fungsi mode ringan untuk
lapisan Lokasiku
sama seperti API lengkap. |
Padding peta | Didukung? Ya
Dukungan mode ringan untuk padding peta cocok dengan API lengkap. |
Jendela info | Didukung? Ya
Jika Anda menetapkan title() penanda, jendela info default akan muncul saat pengguna mengetuk penanda. Anda dapat menampilkan jendela info secara terprogram dengan memanggil showInfoWindow() pada penanda.
Anda juga dapat membuat jendela info kustom melalui antarmuka InfoWindowAdapter . |
Gaya peta dasar kustom | Didukung? Sebagian
Maps SDK for Android mendukung gaya visual kustom untuk peta dasar. Mode Ringan hanya mendukung gaya visual kustom berbasis JSON, bukan gaya visual berbasis cloud yang memerlukan ID peta untuk merender peta bergaya. |
Penanda | Didukung? Sebagian
Anda dapat menambahkan penanda
dan merespons peristiwa klik. Anda juga dapat menambahkan ikon penanda kustom. Tidak mungkin menjadikan penanda dapat ditarik. Penanda pada peta mode ringan bersifat datar dan tidak dapat diputar. |
Posisi kamera, zoom, dan animasi | Didukung? Sebagian
Anda dapat menetapkan target dan zoom kamera, tetapi bukan kemiringan atau poros.
Tingkat zoom dibulatkan ke bilangan bulat terdekat dalam mode ringan.
Memanggil Memanggil |
Peristiwa peta | Didukung? Sebagian
Mode ringan mendukung Untuk menonaktifkan peristiwa klik pada peta dalam mode ringan, Anda dapat memanggil Untuk mengetahui detailnya, lihat dokumentasi peristiwa. |
Peta lantai dan bangunan | Didukung? Tidak
Mode ringan akan menampilkan ubin yang sama seperti
Maps Static API.
Artinya, jika denah lantai dalam ruangan diterapkan pada ubin default, ubin tersebut akan muncul. Jika tidak, ubin tersebut tidak akan muncul. Selain itu, Anda tidak dapat mengubah lantai yang ditampilkan atau memanipulasi alat pilih lantai. |
Lapisan lalu lintas | Didukung? Tidak
GoogleMap.setTrafficEnabled() tidak didukung dalam mode ringan. |
Overlay bumi | Didukung? Tidak
GoogleMap.addGroundOverlay() tidak didukung dalam mode ringan. |
Overlay ubin | Didukung? Tidak
GoogleMap.addTileOverlay() tidak didukung dalam mode ringan. |
Gestur | Didukung? Tidak
Mode ringan tidak mendukung gestur. Mengaktifkan dan menonaktifkan gestur tidak akan memberikan efek apa pun. |
Street View | Didukung? Tidak
Street View
tidak didukung dalam mode ringan. |