Pertemuan 13

Location Based Service
& Google Maps SDK πŸ—ΊοΈ

Mari buat aplikasimu mengenali dunia nyata! Belajar cara mendaftarkan aplikasi ke Google Cloud Console, menyematkan Peta (Map), dan melacak koordinat GPS pengguna.

1. Kunci Utama: Google API Key

Berbeda dengan fitur bawaan seperti Camera atau SQLite, Google Maps adalah layanan Cloud milik Google yang memerlukan autentikasi. Tanpa tiket masuk (API Key), petamu tidak akan memuat gambar dan hanya menampilkan layar blank / abu-abu dengan tulisan "Google".

Langkah Mendapatkan API Key:

  1. Buka Google Cloud Console.
  2. Buat Project baru.
  3. Buka menu APIs & Services -> Library. Cari dan aktifkan (Enable) "Maps SDK for Android".
  4. Buka menu Credentials, klik Create Credentials -> API Key.
  5. Copy kode panjang yang dihasilkan (contoh: AIzaSyB...). Kode ini akan kita tempelkan di file AndroidManifest.xml nanti!

2. Simulator: Peta Interaktif (Ultra HD)

Uji coba aplikasi pencari Cafe terdekat! Coba geser-geser (drag/pan) dan Zoom (Scroll Wheel/Tombol) petanya. Lalu klik "Dapatkan Lokasiku" (atau icon target) untuk terbang otomatis ke koordinat kawasan Jl. Soka, Bandung. Terakhir, klik "Tambah Pin Cafe" untuk menjatuhkan Marker yang sangat tajam!

Panel Kontrol Peta

Lat: - Lng: -
// Menyiapkan Google Maps SDK...
D/Maps: onMapReady callback diterima.
D/Maps: Peta HD siap di-zoom dan digeser!
Cari Cafe Terdekat
Taman Foto
Makmur Jaya
Google

3. Bedah Kode Lengkap

Ini adalah struktur kode lengkap untuk menampilkan peta, meminta izin lokasi, dan meletakkan Marker. Pastikan koneksi internet komputermu lancar saat melakukan Sync Gradle!

build.gradle.kts (Module :app)

Kita wajib mengunduh library resmi dari Google untuk Maps (untuk menampilkan peta) dan Location (untuk mendapatkan GPS akurat).

dependencies {
    // Library standar Android...
    implementation("androidx.appcompat:appcompat:1.6.1")
    implementation("com.google.android.material:material:1.10.0")
    
    // 🚨 TAMBAHKAN 2 BARIS INI UNTUK GOOGLE MAPS & LOKASI
    implementation("com.google.android.gms:play-services-maps:18.2.0")
    implementation("com.google.android.gms:play-services-location:21.0.1")
}

5. Tugas Super: Cafe Finder!

Mari padukan materi Modul 12 ini dengan Modul 9 (Room Database) untuk membuat proyek yang keren layaknya pencarian kuliner profesional!

Misi Project Utama (Cafe Finder Edition):

  1. Dapatkan API Key Google Maps resmi dari Cloud Console.
  2. Buat `Entity` Room Database bernama TokoCafe yang memiliki kolom: `id`, `nama_cafe`, `latitude`, dan `longitude`. (Tipe data untuk Lat/Lng adalah `Double`).
  3. Buat fitur Input sederhana untuk menyimpan data Cafe baru ke database. (Isi manual angka Lat/Lng nya).
  4. Saat aplikasi pertama kali dibuka (di `onMapReady`), ambil semua data `TokoCafe` dari Database. Lakukan proses Looping (For) untuk merubah seluruh data tersebut menjadi tumpukan `Marker` di atas peta!