Anda sudah siap!

Untuk mulai mengembangkan, masuklah ke dokumentasi developer kami.

Aktifkan Google Maps Android API

Untuk membantu Anda memulai, kami akan memandu Anda melalui Google Developers Console untuk melakukan beberapa hal terlebih dahulu:

  1. Buat atau pilih sebuah proyek
  2. Aktifkan Google Maps Android API
  3. Buat kunci yang sesuai
Lanjutkan

Overlay Bumi

Overlay bumi adalah overlay gambar yang terikat dengan koordinat garis lintang/garis bujur, sehingga ikut bergerak bila Anda menyeret atau memperbesar/memperkecil tampilan peta.

Contoh kode

Repositori ApiDemos di GitHub menyertakan contoh yang memperagakan overlay bumi:

Pengantar

Overlay bumi adalah gambar yang dilekatkan pada peta. Berbeda dengan [marker], overlay bumi berorientasi pada permukaan bumi daripada layar, sehingga memutar, memiringkan atau zooming pada peta akan mengubah orientasi gambar. Overlay bumi berguna bila Anda ingin melekatkan sebuah gambar pada satu area di atas peta. Jika Anda ingin menambahkan gambar besar yang menutupi sebagian besar peta, Anda harus mempertimbangkan Overlay petak.

Menambahkan overlay

Untuk menambahkan GroundOverlay, buat sebuah objek GroundOverlayOptions yang mendefinisikan gambar dan posisi. Anda juga bisa menetapkan setelan tambahan yang akan memengaruhi pemosisian gambar pada peta. Setelah Anda mendefinisikan opsi yang diperlukan, teruskan objek tersebut ke metode GoogleMap.addGroundOverlay() untuk menambahkan gambar ke peta. Metode addGroundOverlay() ini mengembalikan objek GroundOverlay; Anda harus mempertahankan referensi ke objek ini jika ingin memodifikasinya nanti.

Catatan: Setelah ditambahkan ke peta, gambar akan dikonversi menjadi gambar dengan sisi-sisi dua-pangkat. Anda bisa menghindari konversi ini menggunakan gambar asal dengan dimensi yang dua-pangkat — misalnya, 128x512 atau 1024x1024.

Langkah demi langkah:

  1. Buat instance objek GroundOverlayOptions baru
  2. Tetapkan gambar sebagai BitmapDescriptor.
  3. Setel posisi gambar menggunakan salah satu dari metode yang tersedia:
    • position(LatLng location, float width, float height)
    • position(LatLng location, float width)
    • positionFromBounds(LatLngBounds bounds)
  4. Setel properti opsional, misalnya transparency, seperti yang diinginkan.
  5. Panggil GoogleMap.addGroundOverlay() untuk menambahkan gambar ke peta.

Contoh di bawah ini memperagakan cara menambahkan overlay bumi ke objek GoogleMap yang ada.

LatLng NEWARK = new LatLng(40.714086, -74.228697);

GroundOverlayOptions newarkMap = new GroundOverlayOptions()
        .image(BitmapDescriptorFactory.fromResource(R.drawable.newark_nj_1922))
        .position(NEWARK, 8600f, 6500f);
map.addGroundOverlay(newarkMap);

Jika Anda ingin mengubah atau membuang overlay bumi setelah menambahkannya ke peta, pastikan Anda tetap menyimpan objek GroundOverlay. Anda bisa memodifikasi overlay tersebut nanti dengan membuat perubahan pada objek ini.

LatLng NEWARK = new LatLng(40.714086, -74.228697);

GroundOverlayOptions newarkMap = new GroundOverlayOptions()
        .image(BitmapDescriptorFactory.fromResource(R.drawable.newark_nj_1922))
        .position(NEWARK, 8600f, 6500f);

// Add an overlay to the map, retaining a handle to the GroundOverlay object.
GroundOverlay imageOverlay = map.addGroundOverlay(newarkMap);

Membuang overlay

Anda bisa membuang overlay bumi dengan metode GroundOverlay.remove().

imageOverlay.remove();

Mengubah overlay

Anda bisa mengubah gambar overlay bumi setelah ditambahkan ke peta dengan metode GroundOverlay.setImage(BitmapDescriptor).

// Add an overlay, retaining a handle to the GroundOverlay object.
GroundOverlay imageOverlay = map.addGroundOverlay(newarkMap);

// Update the GroundOverlay with a new image of the same dimensions.
imageOverlay = map.setImage(BitmapDescriptorFactory.fromResource(R.drawable.newark_nj_1975));

Metode setImage() akan menggantikan gambar yang sudah ada dengan gambar lain yang sama dimensinya.

Memosisikan Overlay Bumi

Ada dua cara untuk menetapkan posisi overlay bumi:

  • Menggunakan LatLng untuk menempatkan overlay di tengah, serta dimensi dalam meter untuk menetapkan ukuran gambar.
  • Menggunakan LatLngBounds untuk menetapkan sudut timur laut dan barat daya gambar.

Anda harus menetapkan posisi overlay bumi sebelum menambahkannya ke peta.

Menggunakan lokasi untuk memosisikan gambar

Saat menambahkan gambar, Anda menetapkan LatLng yang akan digunakan untuk melekatkan jangkar dan lebar overlay (dalam meter). Default anchor adalah bagian tengah gambar. Anda juga bisa memberikan tinggi overlay (dalam meter). Jika Anda tidak memberikan tinggi overlay, tingginya akan dihitung secara otomatis untuk mempertahankan proporsi gambar.

Kode di bawah ini menempatkan gambar pada posisi 40.714086, -74.228697 yaitu lebar 8,6 km kali tinggi 6,5 km. Gambar ini ditambatkan di bagian kiri bawah.

GroundOverlayOptions newarkMap = new GroundOverlayOptions()
        .image(BitmapDescriptorFactory.fromResource(R.drawable.newark_nj_1922))
        .anchor(0, 1)
        .position(new LatLng(40.714086, -74.228697), 8600f, 6500f);

Menggunakan LatLngBounds untuk memosisikan gambar

Anda memberikan LatLngBounds yang berisi gambar. LatLngBounds menyetel sudut timur laut dan barat daya gambar. Bila telah digambar pada peta, gambar akan diputar agar sesuai dengan batas. Jika batas tidak sesuai dengan rasio aspek asal, gambar akan menjadi miring.

Kode di bawah ini menempatkan gambar pada peta dengan sudut Barat Daya ditambatkan ke 40.712216,-74.22655 dan sudut Timur Laut ditambatkan ke 40.773941, -74.12544.

LatLngBounds newarkBounds = new LatLngBounds(
        new LatLng(40.712216, -74.22655),       // South west corner
        new LatLng(40.773941, -74.12544));      // North east corner
GroundOverlayOptions newarkMap = new GroundOverlayOptions()
        .image(BitmapDescriptorFactory.fromResource(R.drawable.newark_nj_1922))
        .positionFromBounds(newarkBounds);

Menangani kejadian overlay bumi

Secara default, overlay bumi tidak bisa diklik. Anda bisa mengaktifkan dan menonaktifkan kemampuan diklik dengan memanggil GroundOverlay.setClickable(boolean).

Gunakan OnGroundOverlayClickListener untuk memantau kejadian klik pada overlay bumi yang bisa diklik. Untuk menyetel listener ini pada peta, panggil GoogleMap.setOnGroundOverlayClickListener(OnGroundOverlayClickListener). Bila pengguna mengeklik overlay bumi, Anda akan menerima callback onGroundOverlayClick(GroundOverlay).

Kirim masukan tentang...

Google Maps Android API
Google Maps Android API
Butuh bantuan? Kunjungi halaman dukungan kami.