Android: Google Maps Di Fragment
Saya baru terpikir buat ini setelah saya tahu bahwa jadi developer Android benar-benar menguji kesabaran. Sebenarnya saya sudah lama menjadi developer, namun entah kenapa saya baru terpikir untuk mengabadikan juang lelah saya di sebuah diari terbuka.
Objektif: Sematkan Peta Android di Activity
Jika kita lihat aplikasi transportasi online, akan selalu ada sebuah peta yang menjadi bagian dari tampilan tersebut. Entah peta itu menampilkan pengemudi yang available, mencari tujuan, dan lain-lain. Intinya, peta tersebut menyatu dengan sekumpulan objek yang lain. Entah itu tombol, teks, rating, atau input-input yang lain.
Berarti, saya harus menyediakan sebuah ruang untuk saya sematkan sebuah peta.
Permasalahan:
Saya tidak akan membahas bagaimana caranya mendapatkan API untuk Google Mapsnya. Itu sudah sangat banyak dijelaskan di Google dan Youtube, dan itu mudah, bahkan sangat mudah. Setiap API memiliki kuota yang jika kita memanggil APInya melebihi kuota, maka API akan diblokir sebelum kita perpanjang. Beruntung, Google mereset kuota API setiap awal bulan. Kuotanya pun besar hingga ribuan, jadi jangan khawatir jika hanya ditujukan untuk belajar.
Masalahnya, meskipun Android Studio sudah memiliki Activity khusus untuk Google Maps (Google Maps Activity), namun Activity tersebut hanya berupa tampilan full, bukan yang saya inginkan.
Hampir setiap tutorial yang membahas tentang penyematan Google Maps pasti selalu menggunakan Google Maps Activity, yang mana bukan itu tujuan saya. Yang pada akhirnya, saya memutuskan untuk membuat fragmen peta.
Apa sih fragment? Gampangnya, itu sebenarnya sekumpulan kode/objek yang dapat digunakan berulang-ulang dalam Activity yang berbeda-beda. Contoh, jika kita ingin menampilkan sebuah popup yang keluarnya itu-itu lagi, maka daripada harus berlelah-lelah mengkoding ulang popup tersebut di setiap Activity, cukup buat sebuah tampilan popup di fragment, dan kita dapat memanggil menggunakan fragment tersebut di Activity lain.
Mirip sebuah fungsi sih ya, hanya ini memanggil fungsi tampilan saja.
Akhirnya dapat pula tutorial yang membahas bagaimana implementasi Google Maps pada Fragment pada video berikut. Inti dari video:
Setelah itu semua selesai, saya membuat Activity baru (nama bebas) untuk mendrag&drop fragmentnya ke layout editor.
Setelah itu tinggal dijalankan, dan…
What?! Ada error โError inflating class fragmentโ di Logcat!
Aduh paling males kalo ngeliat error gak jelas begono.
Butek daku dibuatnya, semua solusi dari stackoverflow sudah dibaca semuanya, tapi tidak ada yang membantu. Akhirnya saya pelan-pelan baca errornya di logcat, bahwa tertulis must implement OnFragmentInteractionListener.
The hell is that?! Setelah saya baca kembali, ternyata Aktivitas yang saya buat barusan harus mengimplementasi OnFragmentInteractionListener karena pada fungsi onAttachnya si Fragment, harus menyertakan itu.
Ya sudah, akhirnya saya tambahkan implements di kelas Activity yang ada Fragmentnya.
Nanti Android Studio menampilkan garis bawah merah khas MS. Word karena ada error. Nah kalian tinggal cari bola lampu merah di samping kiri kodenya dan klik itu, lalu klik yang paling atas hingga tercipta fungsi override berikut (kalian bisa ketik sendiri):
Setelah itu saya jalankan dan… alhamdulillah, petanya tampil di aplikasi, bersama dengan yang objek-objek yang lain.
Bagaimana kemudian saya memanggil fungsi fragment dari Activity? Ternyata cukup mudah hehe… Cukup buat public function di fragment,
Saya beri nama mapUpdate untuk fungsinya. Namun sebenarnya bebas. Boleh hanya fungsi perkalian untuk ditampilkan di logcat jika untuk tes semata, atau apapun. Ini saya juga hanya mencoba-coba untuk interaksinya saja via sebuah tombol yang saya tambahkan di Activity yang memuat fragmentnya.
Setelah itu, tombol tersebut saya beri perintah jika diklik.
Cukup dua baris yang berisikan:
Saya jalankan dan… voila. Fungsinya bekerja. Setiap saya klik tombolnya, petanya membuat marker sendiri di lokasi latitude dan longitude yang telah ditentukan.
Nilai
Polling
Sugesti
Permainan
Mohon berikan bintang:
Desk Rate
Kalian juga dapat melihat dan menikmati hasil polling-polling yang lain. ๐
Sebentar ya, Anandastoon muat seluruh galeri pollnya dulu.
Pastikan internetmu tetap terhubung. ๐
Silakan klik salah satu poll yang kamu suka untuk mulai polling!
Galeri poll akan terus Anandastoon tambahkan secara berkala. ๐
Sebentar ya, Anandastoon memuat poll yang kamu pilih.
Pastikan internetmu tetap terhubung. ๐
Anandastoon ingin memastikan bahwa kamu bukan robot.
Mohon agar menjawab pertanyaan keamanan berikut dengan sepenuh hati.
Poll yang 'janggal' berpotensi dihapus oleh Anandastoon.
Sebab poll yang kamu isi mungkin akan bermanfaat bagi banyak orang. ๐ค
Mohon jawab pertanyaan keamanan ini. Jika jawaban benar, kamu langsung menuju pollnya.
Atau, sedang tidak ingin mengisi poll?
Sebentar ya... poll kamu sedang di-submit.
Pastikan internetmu terhubung agar dapat melihat hasilnya.
Di sini nantinya Anandastoon akan menebak rekomendasi artikel yang kamu inginkan ~
Selesai membaca artikel Anandastoon? Mari, saya coba sarankan artikel lainnya. ๐ฎ
Di sini nantinya kamu bisa main game langsung di artikelnya.
Bermain dengan artikel yang baru saja kamu baca? ๐ฑ Kek gimana tuh?
Simpel kok, cuma cari kata dalam waktu yang ditentukan.
1. Kamu akan diberikan sebuah kata.
2. Kamu wajib mencari kata tersebut dalam artikel.
3. Kata yang ditemukan harap diblok atau dipilih.
Bisa dengan klik dua kali di laptop, atau di-tap dan tahan sampai kata terblok.
4. Terus begitu sampai kuota habis. Biasanya jumlahnya 10 kuota.
5. Kamu akan berhadapan dengan waktu yang terus berjalan.
6. DILARANG Inspect Element, CTRL + F, atau find and replace. Juga DILARANG berpindah tab/windows.