Sekarang adalah hari jadi Google Maps Platform yang ke-15 - Lihat berita dan pengumuman terbaru

Menambahkan Peta dengan Penanda

Tutorial ini menunjukkan cara menambahkan peta Google ke aplikasi Android Anda. Peta tersebut mencakup penanda, yang juga disebut pin, untuk menunjukkan lokasi tertentu.

Ikuti tutorial ini untuk membuat aplikasi Android menggunakan Maps SDK for Android. Lingkungan pengembangan yang direkomendasikan adalah Android Studio.

Mendapatkan kode

Lakukan clone atau download repositori Google Maps Android API v2 Samples dari GitHub.

Menyiapkan project pengembangan

Ikuti langkah-langkah berikut untuk membuat project tutorial di Android Studio.

  1. Download dan instal Android Studio.
  2. Tambahkan paket layanan Google Play ke Android Studio.
  3. Lakukan clone atau download repositori Google Maps Android API v2 Samples jika Anda belum melakukannya saat mulai membaca tutorial ini.
  4. Impor project tutorial:

    • Di Android Studio, pilih File > New > Import Project.
    • Buka lokasi tempat Anda menyimpan repositori Google Maps Android API v2 Samples setelah mendownloadnya.
    • Temukan project MapWithMarker di lokasi ini:
      PATH-TO-SAVED-REPO/android-samples/tutorials/MapWithMarker
    • Pilih direktori project, lalu klik OK. Android Studio akan membuat project Anda menggunakan alat build Gradle.

Mendapatkan kunci API dan mengaktifkan API yang diperlukan

Untuk menyelesaikan tutorial ini, Anda memerlukan kunci Google API yang telah diberi otorisasi untuk menggunakan Maps SDK for Android.

Klik tombol di bawah untuk mendapatkan kunci dan mengaktifkan API.

Mulai

Untuk detail selengkapnya, lihat panduan lengkap untuk mendapatkan kunci API.

Menambahkan kunci API ke aplikasi

  1. Edit file gradle.properties project Anda.
  2. Tempelkan kunci API ke nilai properti GOOGLE_MAPS_API_KEY. Saat membuat aplikasi, Gradle menyalin kunci API ke dalam manifes Android untuk aplikasi tersebut, seperti yang dijelaskan di bawah.

    GOOGLE_MAPS_API_KEY=PASTE-YOUR-API-KEY-HERE
    

Membuat dan menjalankan aplikasi

  1. Hubungkan perangkat Android ke komputer Anda. Ikuti petunjuk untuk mengaktifkan opsi developer di perangkat Android Anda dan mengonfigurasikan sistem untuk mendeteksi perangkat tersebut. (Atau, Anda dapat menggunakan Android Virtual Device (AVD) Manager untuk mengonfigurasikan perangkat virtual. Saat memilih emulator, pastikan Anda memilih image yang berisi Google API. Untuk mengetahui detail selengkapnya, lihat panduan memulai.)
  2. Di Android Studio, klik opsi menu Run (atau ikon tombol putar). Pilih perangkat saat diminta.

Android Studio memanggil Gradle untuk membuat aplikasi, lalu menjalankan aplikasi tersebut di perangkat atau di emulator. Anda akan melihat peta dengan penanda yang menunjuk ke Sydney di pantai timur Australia, sama seperti gambar di halaman ini.

Pemecahan masalah:

Memahami kode

Bagian tutorial ini menjelaskan bagian yang paling signifikan dari aplikasi MapWithMarker untuk membantu Anda memahami cara membuat aplikasi yang serupa.

Memeriksa manifes Android

Perhatikan elemen berikut di file AndroidManifest.xml aplikasi Anda:

  • Tambahkan elemen meta-data untuk menyematkan versi layanan Google Play yang digunakan untuk mengompilasi aplikasi.

    <meta-data
        android:name="com.google.android.gms.version"
        android:value="@integer/google_play_services_version" />
    
  • Tambahkan elemen meta-data yang menentukan kunci API Anda. Contoh yang disertakan dalam tutorial ini memetakan nilai untuk kunci API ke string google_maps_key. Saat Anda membuat aplikasi, Gradle menyalin kunci API dari file gradle.properties project Anda ke nilai string.

    <meta-data
      android:name="com.google.android.geo.API_KEY"
      android:value="@string/google_maps_key" />
    

    Untuk melihat cara kunci API dipetakan ke nilai string, perhatikan build.gradle aplikasi Anda. File ini berisi baris berikut yang memetakan string google_maps_key ke properti gradle GOOGLE_MAPS_API_KEY:

      resValue "string", "google_maps_key",
              (project.findProperty("GOOGLE_MAPS_API_KEY") ?: "")
    

Berikut contoh manifes lengkap:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.mapwithmarker">

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">

        <meta-data
            android:name="com.google.android.gms.version"
            android:value="@integer/google_play_services_version" />

        <!--
             The API key for Google Maps-based APIs.
        -->
        <meta-data
            android:name="com.google.android.geo.API_KEY"
            android:value="@string/google_maps_key" />

        <activity
            android:name=".MapsMarkerActivity"
            android:label="@string/title_activity_maps">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

Menambahkan peta

Tampilkan peta, menggunakan Maps SDK untuk Android.

  1. Tambahkan elemen <fragment> ke file tata letak aktivitas Anda, activity_maps.xml. Elemen ini menentukan SupportMapFragment agar berfungsi sebagai penampung untuk peta dan untuk memberikan akses ke objek GoogleMap. Tutorial ini menggunakan fragmen peta versi Android Support Library untuk memastikan kompatibilitas mundur dengan framework Android versi lama.

    <fragment xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:id="@+id/map"
        android:name="com.google.android.gms.maps.SupportMapFragment"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:context="com.example.mapwithmarker.MapsMarkerActivity" />
    
    
  2. Dalam metode onCreate() aktivitas, tetapkan file tata letak sebagai tampilan konten. Dapatkan handle ke fragmen peta dengan memanggil FragmentManager.findFragmentById(). Selanjutnya, gunakan getMapAsync() untuk mendaftarkan callback peta:

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        // Retrieve the content view that renders the map.
        setContentView(R.layout.activity_maps);
        // Get the SupportMapFragment and request notification
        // when the map is ready to be used.
        SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager()
                .findFragmentById(R.id.map);
        mapFragment.getMapAsync(this);
    }
    
  3. Terapkan antarmuka OnMapReadyCallback dan ganti metode onMapReady() untuk menyiapkan peta saat objek GoogleMap tersedia:

    public class MapsMarkerActivity extends AppCompatActivity
            implements OnMapReadyCallback {
        // Include the OnCreate() method here too, as described above.
        @Override
        public void onMapReady(GoogleMap googleMap) {
            // Add a marker in Sydney, Australia,
            // and move the map's camera to the same location.
            LatLng sydney = new LatLng(-33.852, 151.211);
            googleMap.addMarker(new MarkerOptions().position(sydney)
                    .title("Marker in Sydney"));
            googleMap.moveCamera(CameraUpdateFactory.newLatLng(sydney));
        }
    }
    

Secara default, Maps SDK for Android menampilkan konten jendela info saat pengguna mengetuk penanda. Anda tidak perlu menambahkan pemroses klik untuk penanda jika sudah puas menggunakan perilaku default.

Langkah berikutnya

Pelajari lebih lanjut objek peta dan tindakan yang dapat Anda lakukan dengan penanda.