Buat aplikasi Android yang menampilkan peta dengan menggunakan template Google Maps untuk Android Studio. Jika Anda sudah memiliki project Android Studio yang ingin disiapkan, lihat Konfigurasi Project.
Panduan memulai ini ditujukan bagi developer yang sudah memahami pengembangan Android dasar dengan Java atau Kotlin.
Menyiapkan lingkungan pengembangan
- Perlu Android Studio Arctic Fox atau versi yang lebih baru. Jika belum punya, download dan instal Android Studio versi tersebut.
- Pastikan Anda menggunakan plugin Android Gradle versi 7.0 atau yang lebih baru di Android Studio.
Menyiapkan perangkat Android
Untuk menjalankan aplikasi yang menggunakan Maps SDK for Android, Anda harus men-deploy aplikasi tersebut ke perangkat Android atau emulator Android yang didasarkan pada Android 4.0 atau yang lebih tinggi dan menyertakan Google API.
- Untuk menggunakan perangkat Android, ikuti petunjuk pada halaman Menjalankan aplikasi di perangkat hardware.
- Untuk menggunakan emulator Android, Anda dapat membuat perangkat virtual dan menginstal emulator dengan menggunakan AVD (Perangkat Virtual Android) Manager yang disertakan bersama Android Studio.
Membuat project Google Maps di Android Studio
Buka Android Studio, lalu klik Create New Project di jendela Welcome to Android Studio.
Di jendela New Project, dalam kategori Phone and Tablet, pilih Google Maps Activity, lalu klik Next.
Isi formulir Google Maps Activity:
Setel Language ke Java atau Kotlin. Kedua bahasa didukung sepenuhnya oleh Maps SDK for Android. Untuk mempelajari Kotlin lebih lanjut, lihat halaman Mengembangkan aplikasi Android dengan Kotlin.
Tetapkan Minimum SDK ke versi SDK yang kompatibel dengan perangkat pengujian Anda. Anda harus memilih versi yang lebih tinggi dari versi minimum yang diperlukan oleh Maps SDK for Android versi 18.0.x. Versi saat ini adalah Android API Level 19 (Android 4.4, KitKat) atau yang lebih tinggi. Lihat Catatan Rilis untuk mengetahui informasi terbaru tentang persyaratan versi SDK.
Klik Finish.
Android Studio memulai Gradle dan membuat project. Proses ini mungkin berlangsung lama.
Setelah proses build selesai, Android Studio akan membuka file
AndroidManifest.xml
danMapsActivity
. Aktivitas Anda mungkin memiliki nama berbeda, tetapi yang akan digunakan adalah nama yang dikonfigurasi selama penyiapan.File
AndroidManifest.xml
berisi petunjuk cara mendapatkan kunci API Google Maps dan menambahkannya ke file local.properties Anda. Jangan tambahkan kunci API Anda ke fileAndroidManifest.xml
. Tindakan tersebut akan mengurangi keamanan penyimpanan kunci API. Sebagai gantinya, ikuti petunjuk di bagian berikutnya untuk membuat project Cloud dan mengonfigurasi kunci API.
Menyiapkan project Google Cloud
Selesaikan langkah-langkah penyiapan Cloud Console yang diperlukan dengan mengklik tab berikut:
Langkah 1
Konsol
-
Di Google Cloud Console, pada halaman pemilih project, klik Buat Project untuk mulai membuat project Cloud baru.
-
Pastikan penagihan diaktifkan untuk project Cloud Anda. Konfirmasikan bahwa penagihan diaktifkan untuk project Anda.
Google Cloud menawarkan uji coba tanpa biaya. Masa uji coba berakhir setelah 90 hari atau setelah akumulasi tagihan akun mencapai $300, mana saja yang lebih dulu. Batalkan kapan saja. Google Maps Platform memberikan kredit bulanan berulang sebesar $200. Untuk informasi selengkapnya, lihat Kredit akun penagihan dan Penagihan.
Cloud SDK
gcloud projects create "PROJECT"
Baca selengkapnya tentang Google Cloud SDK , Penginstalan Cloud SDK , dan perintah berikut:
Langkah 2
Untuk menggunakan Google Maps Platform, Anda harus mengaktifkan API atau SDK yang akan digunakan dengan project.
Konsol
Cloud SDK
gcloud services enable \ --project "PROJECT" \ "maps-android-backend.googleapis.com"
Baca selengkapnya tentang Google Cloud SDK , Penginstalan Cloud SDK , dan perintah berikut:
Langkah 3
Langkah ini hanya ada di proses pembuatan Kunci API. Jika Anda menggunakan Kunci API dalam produksi, kami sangat menyarankan agar Anda membatasi kunci API. Anda dapat menemukan informasi selengkapnya di halaman Menggunakan Kunci API khusus produk.
Kunci API adalah ID unik yang mengautentikasi permintaan terkait project untuk tujuan penggunaan dan penagihan. Anda harus memiliki setidaknya satu kunci API terkait project.
Untuk membuat kunci API:
Konsol
-
Buka halaman Google Maps Platform > Credentials.
-
Pada halaman Credentials, klik Create credentials > API key.
Dialog API key created akan menampilkan kunci API yang baru dibuat. -
Klik Close.
Kunci API baru dicantumkan pada halaman Credentials di bawah API keys.
(Jangan lupa untuk membatasi kunci API sebelum menggunakannya dalam produksi.)
Cloud SDK
gcloud alpha services api-keys create \ --project "PROJECT" \ --display-name "DISPLAY_NAME"
Baca selengkapnya tentang Google Cloud SDK , Penginstalan Cloud SDK , dan perintah berikut:
Menambahkan kunci API ke aplikasi
Bagian ini menjelaskan cara menyimpan kunci API sehingga dapat dirujuk dengan aman oleh
aplikasi Anda. Anda tidak boleh memasukkan kunci API ke dalam sistem kontrol versi Anda, jadi sebaiknya
simpan kunci tersebut dalam file local.properties
, yang terletak di direktori utama project
Anda. Untuk informasi selengkapnya tentang file local.properties
, lihat
file properti Gradle.
Untuk menyederhanakan tugas ini, sebaiknya Anda menggunakan Plugin Gradle Secret untuk Android. Untuk menginstal plugin dan menyimpan kunci API Anda:
- Di Android Studio, buka file
build.gradle
tingkat project dan tambahkan kode berikut ke elemendependencies
di bagianbuildscript
.plugins { // ... id 'com.google.android.libraries.mapsplatform.secrets-gradle-plugin' version '2.0.1' apply false }
- Selanjutnya, buka file
build.gradle
tingkat modul dan tambahkan kode berikut ke elemenplugins
.id 'com.google.android.libraries.mapsplatform.secrets-gradle-plugin'
- Simpan file dan sinkronkan project Anda dengan Gradle.
- Buka
local.properties
pada direktori tingkat project, lalu tambahkan kode berikut. GantiYOUR_API_KEY
dengan kunci API Anda.MAPS_API_KEY=YOUR_API_KEY
- Simpan file.
- Dalam file
AndroidManifest.xml
Anda, bukacom.google.android.geo.API_KEY
dan perbaruiandroid:value attribute
seperti berikut:<meta-data android:name="com.google.android.geo.API_KEY" android:value="${MAPS_API_KEY}" />
Catatan: Seperti yang ditunjukkan di atas,
com.google.android.geo.API_KEY
adalah nama metadata yang disarankan
untuk kunci API. Kunci dengan nama ini dapat digunakan untuk mengautentikasi beberapa API berbasis Google Maps sekaligus di platform Android, termasuk Maps SDK for Android. Untuk kompatibilitas mundur, API tersebut juga mendukung nama com.google.android.maps.v2.API_KEY
. Nama lama ini hanya memungkinkan autentikasi untuk Android Maps API v2. Aplikasi hanya dapat menetapkan salah satu nama metadata kunci API. Jika keduanya ditetapkan, API
akan memberikan pengecualian.
Lihat kodenya
Periksa kode yang disediakan oleh template. Secara khusus, lihat file berikut di project Android Studio Anda.
File aktivitas peta
File aktivitas peta adalah aktivitas utama untuk aplikasi, dan
berisi kode untuk mengelola dan menampilkan peta. Secara default, file yang
menentukan aktivitas diberi nama MapsActivity.java
, atau MapsActivity.kt
jika Anda menetapkan Kotlin sebagai
bahasa aplikasi.
Elemen utama aktivitas peta:
Objek
SupportMapFragment
mengelola siklus proses peta dan merupakan elemen induk dari UI aplikasi.Objek
GoogleMap
memberikan akses ke data dan tampilan peta. Ini adalah class utama Maps SDK for Android. Panduan Objek Peta menjelaskan objekSupportMapFragment
danGoogleMap
secara lebih detail.Fungsi
moveCamera
memusatkan peta pada koordinatLatLng
untuk Sydney, Australia. Setelan pertama yang dikonfigurasi saat menambahkan peta biasanya adalah lokasi peta dan setelan kamera; seperti sudut pandang, orientasi peta, dan tingkat zoom. Lihat panduan Kamera dan Tampilan untuk mengetahui detailnya.Fungsi
addMarker
menambahkan penanda ke koordinat Sydney. Lihat panduan Penanda untuk mengetahui detailnya.
File aktivitas peta berisi kode berikut:
Java
import android.os.Bundle; import androidx.appcompat.app.AppCompatActivity; import com.google.android.gms.maps.CameraUpdateFactory; import com.google.android.gms.maps.GoogleMap; import com.google.android.gms.maps.OnMapReadyCallback; import com.google.android.gms.maps.SupportMapFragment; import com.google.android.gms.maps.model.LatLng; import com.google.android.gms.maps.model.MarkerOptions; public class MapsActivity extends AppCompatActivity implements OnMapReadyCallback { private GoogleMap mMap; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_maps); // Obtain the SupportMapFragment and get notified when the map is ready to be used. SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager() .findFragmentById(R.id.map); mapFragment.getMapAsync(this); } /** * Manipulates the map once available. * This callback is triggered when the map is ready to be used. * This is where we can add markers or lines, add listeners or move the camera. In this case, * we just add a marker near Sydney, Australia. * * If Google Play services is not installed on the device, the user will be prompted to install * it inside the SupportMapFragment. This method will only be triggered once the user has * installed Google Play services and returned to the app. */ @Override public void onMapReady(GoogleMap googleMap) { mMap = googleMap; // Add a marker in Sydney and move the camera LatLng sydney = new LatLng(-34, 151); mMap.addMarker(new MarkerOptions() .position(sydney) .title("Marker in Sydney")); mMap.moveCamera(CameraUpdateFactory.newLatLng(sydney)); } }
Kotlin
import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import com.google.android.gms.maps.CameraUpdateFactory import com.google.android.gms.maps.GoogleMap import com.google.android.gms.maps.OnMapReadyCallback import com.google.android.gms.maps.SupportMapFragment import com.google.android.gms.maps.model.LatLng import com.google.android.gms.maps.model.MarkerOptions internal class MapsActivity : AppCompatActivity(), OnMapReadyCallback { private lateinit var mMap: GoogleMap override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_maps) // Obtain the SupportMapFragment and get notified when the map is ready to be used. val mapFragment = supportFragmentManager .findFragmentById(R.id.map) as SupportMapFragment mapFragment.getMapAsync(this) } /** * Manipulates the map once available. * This callback is triggered when the map is ready to be used. * This is where we can add markers or lines, add listeners or move the camera. In this case, * we just add a marker near Sydney, Australia. * If Google Play services is not installed on the device, the user will be prompted to install * it inside the SupportMapFragment. This method will only be triggered once the user has * installed Google Play services and returned to the app. */ override fun onMapReady(googleMap: GoogleMap) { mMap = googleMap // Add a marker in Sydney and move the camera val sydney = LatLng(-34.0, 151.0) mMap.addMarker(MarkerOptions() .position(sydney) .title("Marker in Sydney")) mMap.moveCamera(CameraUpdateFactory.newLatLng(sydney)) } }
File Gradle Modul
File build.gradle
Modul menyertakan dependensi peta berikut, yang
diperlukan oleh Maps SDK for Android.
dependencies { implementation 'com.google.android.gms:play-services-maps:18.1.0' // ... }
Untuk mempelajari cara mengelola dependensi Maps lebih lanjut, lihat Pembuatan versi.
File tata letak XML
File activity_maps.xml
adalah file tata letak XML yang menentukan
struktur UI aplikasi. File tersebut terletak di direktori res/layout
.
File activity_maps.xml
mendeklarasikan fragmen yang menyertakan elemen-elemen
berikut:
tools:context
menetapkan aktivitas default fragmen keMapsActivity
, yang ditentukan dalam file aktivitas peta.android:name
menetapkan nama class fragmen keSupportMapFragment
, yang merupakan jenis fragmen yang digunakan dalam file aktivitas peta.
File tata letak XML berisi kode berikut:
<fragment xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/map"
tools:context=".MapsActivity"
android:name="com.google.android.gms.maps.SupportMapFragment" />
Men-deploy dan menjalankan aplikasi
Jika berhasil dijalankan, aplikasi akan menampilkan peta yang berpusat di Sydney, Australia dengan penanda di kota seperti yang terlihat pada screenshot berikut.
Untuk men-deploy dan menjalankan aplikasi:
- Di Android Studio, klik opsi menu Run (atau ikon tombol putar) untuk menjalankan aplikasi Anda.
- Jika diminta memilih perangkat, pilih salah satu opsi berikut:
- Pilih perangkat Android yang terhubung ke komputer Anda.
- Atau, pilih tombol pilihan Launch emulator dan pilih perangkat virtual yang Anda siapkan.
- Klik OK. Android Studio akan memulai Gradle untuk mem-build aplikasi Anda, lalu menampilkan hasilnya di perangkat atau emulator. Perlu waktu beberapa menit sebelum aplikasi diluncurkan.
Langkah berikutnya
Menyiapkan peta: Topik ini menjelaskan cara menyiapkan setelan awal dan setelan runtime peta, seperti posisi kamera, jenis peta, komponen UI, dan gestur.
Menambahkan peta ke aplikasi Android (Kotlin): Codelab ini memandu Anda dalam aplikasi dan menunjukkan beberapa fitur tambahan Maps SDK for Android.
Menggunakan library Android KTX Maps: Library ekstensi Kotlin (KTX) ini memungkinkan Anda memanfaatkan beberapa fitur bahasa Kotlin saat menggunakan Maps SDK for Android.