Mulai dengan Premium Plan di Android

Lisensi Google Maps APIs Premium Plan Anda menyediakan dukungan yang disempurnakan untuk Google Maps Android API. Dokumen ini memberi tahu Anda cara membuat aplikasi Android yang menggunakan Google Maps Android API dengan Premium Plan.

Ringkasan

Ikuti petunjuk pada laman ini untuk mengunduh SDK, mempersiapkan proyek Anda, dan menambahkan peta. Inilah rangkuman langkah-langkah yang diperlukan:

  1. Unduh SDK.
  2. Tambahkan SDK ke proyek Android yang baru atau yang sudah ada.
  3. Tambahkan kunci API Anda ke manifes aplikasi.
  4. Tetapkan izin Android yang diperlukan dan OpenGL ES versi 2.
  5. Tambahkan peta.

Unduh SDK

Anda bisa mengunduh SDK sebagai pustaka statis atau menggunakan Android SDK Manager.

Opsi 1: Unduh SDK sebagai pustaka statis

Unduh rilis terbaru sebagai pustaka statis.

Opsi 2: Unduh SDK menggunakan Android SDK Manager

Di Android Studio:

  1. Pilih Tools > Android > SDK Manager.
  2. Pilih Appearance & Behavior > System Settings > Android SDK.
  3. Klik tab SDK Update Sites.
  4. Klik ikon tambah (+) untuk menambahkan situs baru.
  5. Masukkan nama, misalnya 'Google Maps for Work', dan URL: https://dl.google.com/geosdk/android-m4b-addon.xml
  6. Klik OK.
  7. Klik tab SDK Tools.
  8. Pilih Google Maps Mobile SDK for Work dan klik OK untuk menyelesaikan pengunduhan.

Android Studio memasang pustaka di <android-sdk-folder>/extras/google/maps_for_business_sdk/.

Lihat panduan untuk Android SDK Manager untuk petunjuk mengenai penggunaan Android SDK Manager sebagai alat (bantu) mandiri.

Tambahkan SDK ke proyek Anda

Di bawah ini adalah petunjuk untuk Android Studio. Jika Anda menggunakan alat (bantu) yang berbeda, lihat petunjuk dalam dokumentasi Android untuk penggunaan baris perintah.

Google Maps Android API untuk Premium Plan tersedia dalam dua format: bundel aar (google-maps-sdk-m4b.aar) dan modul pustaka (google-maps-sdk-m4b_lib). Anda bisa memilih format yang paling cocok untuk Anda.

Opsi 1: Impor SDK dari bundel aar

Ikuti langkah-langkah ini untuk menyertakan bundel aar (google-maps-sdk-m4b.aar) dalam proyek Android Studio Anda:

  1. Jelajahi Google Maps APIs Premium Plan di lokasi ini:

    <android-sdk>/extras/google/maps_for_business_sdk

  2. Salin file google-maps-sdk-m4b.aar ke dalam direktori libs di proyek Anda. (Buat direktori ini jika tidak ada.)

  3. Tambahkan kode berikut di file build.gradle Anda:

    dependencies {
        compile(name:'google-maps-sdk-m4b', ext:'aar')
    
    }
    
    repositories {
        flatDir{
            dirs 'libs'
        }
    }
    
  4. Selesaikan langkah konfigurasi sebagaimana dijelaskan di bawah ini.

Opsi 2: Impor SDK sebagai modul pustaka

Sebagai ganti menggunakan file aar, Anda bisa mengikuti langkah-langkah ini untuk menambahkan modul pustaka SDK (google-maps-sdk-m4b_lib) ke proyek yang ada di Android Studio:

  1. Di Android Studio, pilih opsi untuk mengimpor modul baru (File -> New -> Import Module).
  2. Jelajahi SDK di lokasi ini:

    <android-sdk>/extras/google/maps_for_business_sdk

  3. Pilih direktori google-maps-sdk-m4b_lib, dan klik Choose.

  4. Terima nilai-nilai default dalam wizard impor.
  5. Klik Finish. Anda akan melihat file teks yang merangkum hasil proses impor.
  6. Pastikan pustaka tersebut telah disertakan dalam file settings.gradle:

    include ':googlemapssdkm4b_lib'

  7. Tambahkan dependensi modul dalam file build.gradle aplikasi Anda:

    compile project(':googlemapssdkm4b_lib')

Konversikan konfigurasi yang sudah ada yang menggunakan Google Play Services

  1. Jika Anda memiliki aplikasi yang ada menggunakan Google Play Services, ganti semua referensi ke paket com.google.android.gms.maps dengan com.google.android.m4b.maps.
  2. Berikan awalan ke semua referensi ke atribut layout XML dengan m4b_. Misalnya: m4b_mapType dan m4b_cameraZoom.

Tetapkan setelan dalam manifes aplikasi

Aplikasi Android yang menggunakan Google Maps Android API perlu menetapkan setelan berikut dalam file manifesnya, AndroidManifest.xml:

Kunci API

Buat kunci API proyek Anda dan tambahkan kunci tersebut ke AndroidManifest.xml, seperti yang dijelaskan dalam panduan autentikasi.

Izin

Tetapkan izin yang dibutuhkan aplikasi Anda, dengan menambahkan elemen <uses-permission> sebagai anak elemen <manifest> dalam AndroidManifest.xml.

Izin lokasi

Jika aplikasi Anda mengakses lokasi pengguna saat ini dengan mengaktifkan layer My Location, Anda harus meminta izin lokasi seperti dijelaskan dalam panduan untuk data lokasi.

Izin penyimpanan eksternal

Jika target Anda Google Play Services SDK versi 8.3 atau yang lebih baru, Anda tidak perlu lagi izin WRITE_EXTERNAL_STORAGE untuk menggunakan Google Maps Android API.

Jika target Anda Google Play Services SDK versi sebelumnya, Anda harus meminta izin android.permission.WRITE_EXTERNAL_STORAGE.

<uses-permission
        android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

Catatan: Jika target aplikasi Anda adalah API level 23 (Android 6.0), yang mengharuskan penggunaan izin waktu proses, Anda harus menargetkan Google Play Services SDK versi 8.3 atau yang lebih baru.

Izin secara otomatis digabungkan ke dalam manifes Anda.

Izin berikut didefinisikan dalam manifes Google Play Services, dan secara otomatis digabungkan ke dalam manifes aplikasi Anda pada saat dibangun. Anda tidak perlu menambahkannya secara eksplisit ke manifes:

OpenGL ES versi 2

Google Maps Android API menggunakan OpenGL ES versi 2 untuk merender peta. Setelan berikut didefinisikan dalam manifes Google Play Services, dan secara otomatis digabungkan ke dalam manifes aplikasi Anda pada saat dibangun. Anda tidak perlu menambahkannya secara eksplisit ke manifes:

<uses-feature
        android:glEsVersion="0x00020000"
        android:required="true"/>

Ini akan memberi tahu layanan eksternal mengenai persyaratan tersebut. Khususnya, ini mencegah Google Play Store menampilkan aplikasi Anda pada perangkat yang tidak mendukung OpenGL ES versi 2.

Tambahkan peta

Cara termudah untuk menguji apakah aplikasi Anda telah dikonfigurasi dengan benar adalah menambahkan sebuah peta sederhana.

Catatan: Kode ini tidak boleh digunakan dalam aplikasi produksi.

  1. Dalam activity_main.xml, tambahkan fragmen berikut.

    <?xml version="1.0" encoding="utf-8"?>
    <fragment xmlns:android="http://schemas.android.com/apk/res/android"
              android:id="@+id/map"
              android:layout_width="match_parent"
              android:layout_height="match_parent"
              android:name="com.google.android.m4b.maps.MapFragment"/>
    
  2. Dalam MainActivity.java, tambahkan kode berikut.

    package com.example.mapdemo;
    
    import android.app.Activity;
    import android.os.Bundle;
    
    public class MainActivity extends Activity {
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
        }
    }
    

Bangun dan jalankan aplikasi Anda

Bangun dan jalankan aplikasi Anda. Anda akan melihat sebuah peta.

Pemecahan masalah:

  • Jika Anda tidak melihat sebuah peta, pastikan bahwa Anda telah melakukan semua langkah yang muncul sebelumnya dalam dokumen ini. Khususnya, pastikan kunci API Anda sudah benar dan akun Anda telah diaktifkan untuk layanan Google Maps APIs Premium Plan.

  • Jika jumlah metode dalam proyek melebihi batas, Anda mungkin akan menerima sebuah kesalahan:

    Unable to execute dex: method ID not in [0, 0xffff]: 65536

    Untuk informasi mengenai sebab dan solusi, lihat panduan developer Android untuk membangun aplikasi dengan lebih dari 65.000 metode.

  • Jika proyek Anda sudah bergantung pada Guava Anda mungkin akan menerima kesalahan benturan kelas seperti yang satu ini:

    com.android.dex.DexException: Multiple dex files define Lcom/google/common/annotations/Beta

    Untuk mengatasi masalah ini, Anda bisa menghapus salinan Guava dari direktori google-maps-sdk-m4b_lib/libs.

Informasi selengkapnya

Cara migrasi aplikasi yang ada

Android API yang tersedia bersama Premium Plan telah didesain sangat mirip dengan Google Maps Android API standar. Akibatnya, proses migrasi jadi sederhana.

  1. Unduh Google Maps Android API untuk Premium Plan, dan tambahkan SDK ke proyek Anda seperti dijelaskan di atas.
  2. Ganti semua referensi ke paket com.google.android.gms.maps dengan com.google.android.m4b.maps.
  3. Berikan awalan ke semua referensi ke atribut layout XML dengan m4b_. Misalnya: m4b_mapType dan m4b_cameraZoom.
  4. Buat kunci API baru proyek Anda dan tambahkan kunci tersebut ke AndroidManifest.xml, seperti yang dijelaskan dalam panduan autentikasi.
  5. Bangun aplikasi Anda.

Membandingkan versi

Tabel berikut menjelaskan perbedaan kunci antara menggunakan Google Maps Android API standar dan menggunakan API dengan Premium Plan.

  Standar Google Maps Android API Premium Plan
Nama paket com.google.android.gms.maps com.google.android.m4b.maps
Atribut XML di file layout Gunakan nama atribut tanpa awalan. Misalnya: mapType. Beri awalan pada semua nama atribut dengan m4b_. Misalnya: m4b_mapType. Untuk detailnya, lihat dokumentasi mengenai atribut XML.
Lokasi pengunduhan Disertakan bersama Google Play Services. Tersedia sebagai pustaka statis.
Saluran dukungan Dukungan berbasis komunitas Akses ke dukungan Premium
Ketentuan Tunduk pada Ketentuan Layanan Google Maps APIs. Tunduk pada Ketentuan Google Maps APIs Premium Plan .

Google Play Services

Google Maps Android API standar memerlukan Google Play Services APK dan pustaka klien Google Play Services. Akan tetapi, bila digunakan bersama Google Maps APIs Premium Plan, SDK hanya mengharuskan Google Play Services APK telah dipasang pada perangkat target - pustaka klien tidak diperlukan.

Saat melakukan migrasi aplikasi ke Premium Plan, Anda tidak perlu membuang Google Play Services SDK dari proyek. Akan tetapi, Anda harus membuang semua referensi ke paket com.google.android.gms.maps. Google Play Services berisi versi Google Maps Android API serta layanan Google lainnya. Jika Anda memanfaatkan layanan Play dalam aplikasi untuk menggunakan Google API lainnya, pastikan Anda hanya menggunakan Premium Plan SDK (paket com.google.android.m4b.maps) untuk mengakses Maps.

Meskipun pustaka klien Google Play Services tidak diperlukan, mungkin sebaiknya Anda menyertakan pustaka tersebut agar bisa memanfaatkan Google API lainnya, misalnya Google+ atau Location API.

Kode contoh

Google Maps di GitHub menyertakan sejumlah contoh yang mengilustrasikan penggunaan Google Maps Android API dalam aplikasi Android Anda. Perhatikan, aplikasi contoh ini menggunakan paket com.google.android.gms.maps, bukan com.google.android.m4b.maps yang digunakan bersama Premium Plan. Aplikasi contoh ini juga memerlukan Google Play Services SDK, karena menggunakan Location API untuk bagian-bagian demo.

Selain itu, Anda bisa menemukan cuplikan kode pada setiap laman panduan developer.

Dokumentasi

Sumber utama informasi tentang Google Maps APIs Premium Plan adalah dokumentasi referensi dan developer yang tersedia di tempat lain pada situs kami.