Catatan: Premium Plan Google Maps Platform tidak lagi tersedia untuk pendaftar atau pelanggan baru.
Lisensi Premium Plan Google Maps Platform Anda memberikan dukungan yang disempurnakan untuk Maps SDK for Android. Dokumen ini menjelaskan cara membuat aplikasi Android yang menggunakan Maps SDK for Android dengan Premium Plan.
Ringkasan
Ikuti petunjuk di halaman ini untuk mendownload SDK, menyiapkan project, dan menambahkan peta. Berikut adalah ringkasan langkah-langkah yang diperlukan:
- Download SDK.
- Tambahkan SDK ke project Android baru atau yang sudah ada.
- Tambahkan kunci API Anda ke manifes aplikasi.
- Tetapkan izin Android dan OpenGL ES versi 2 yang diperlukan.
- Tambahkan peta.
Mendownload SDK
Anda dapat mendownload SDK sebagai library statis atau menggunakan Android SDK Manager.
Opsi 1: Download SDK sebagai library statis
Download rilis terbaru sebagai library statis.
Opsi 2: Download SDK menggunakan Android SDK Manager
Di Android Studio:
- Pilih Tools > Android > SDK Manager.
- Pilih Appearance & Behavior > System Settings > Android SDK.
- Klik tab SDK Update Sites.
- Klik ikon plus (+) untuk menambahkan situs baru.
- Masukkan nama, misalnya 'Google Maps for Work', dan URL:
https://dl.google.com/geosdk/android-m4b-addon.xml
- Klik OK.
- Klik tab SDK Tools.
- Pilih Google Maps Mobile SDK for Work dan klik OK untuk menyelesaikan proses download.
Android Studio menginstal library di
<android-sdk-folder>/extras/google/maps_for_business_sdk/
.
Lihat panduan untuk Android SDK Manager agar dapat mengetahui petunjuk cara menggunakan Android SDK Manager sebagai alat mandiri.
Menambahkan SDK ke project Anda
Di bawah ini adalah petunjuk untuk Android Studio. Jika Anda menggunakan alat lain, lihat petunjuk pada dokumentasi Android untuk penggunaan command line.
Maps SDK for Android untuk Premium Plan
tersedia dalam dua format: paket aar
(google-maps-sdk-m4b.aar
) dan
modul library (google-maps-sdk-m4b_lib
). Anda dapat memilih format yang paling
cocok dengan Anda.
Opsi 1: Impor SDK dari paket aar
Ikuti langkah-langkah berikut untuk menyertakan paket aar
(google-maps-sdk-m4b.aar
)
di project Android Studio Anda:
Cari Premium Plan Google Maps Platform di lokasi ini:
<android-sdk>/extras/google/maps_for_business_sdk
Salin file
google-maps-sdk-m4b.aar
ke dalam direktorilibs
di project Anda. (Buat direktori tersebut jika belum ada.)Tambahkan kode berikut ke file
build.gradle
aplikasi Anda:dependencies { implementation(name:'google-maps-sdk-m4b', ext:'aar') implementation 'com.android.support:support-v4:+' implementation 'com.android.support:appcompat-v7:+' implementation 'com.google.android.gms:play-services-basement:15.0.1' implementation 'com.google.android.gms:play-services-base:15.0.1' } repositories { flatDir{ dirs 'libs' } }
Pada file
build.gradle
aplikasi Anda, setelcompileSdkVersion
ke versi terbarunya.Selesaikan langkah-langkah konfigurasi seperti yang dijelaskan di bawah.
Opsi 2: Impor SDK sebagai modul library
Daripada menggunakan file aar
, Anda dapat mengikuti langkah-langkah berikut untuk menambahkan modul
library SDK (google-maps-sdk-m4b_lib
) ke project yang ada di Android
Studio:
- Di Android Studio, pilih opsi untuk mengimpor modul baru (File -> New -> Import Module).
Cari SDK di lokasi ini:
<android-sdk>/extras/google/maps_for_business_sdk
Pilih direktori
google-maps-sdk-m4b_lib
, lalu klik Choose.Setujui nilai-nilai default dalam wizard impor.
Klik Finish. Anda akan melihat file teks yang meringkas hasil proses impor.
Pastikan library tersebut disertakan dalam file
settings.gradle
:include ':googlemapssdkm4b_lib'
Tambahkan kode berikut ke file
build.gradle
aplikasi Anda:dependencies { implementation project(':googlemapssdkm4b_lib') implementation 'com.android.support:support-v4:+' implementation 'com.android.support:appcompat-v7:+' implementation 'com.google.android.gms:play-services-basement:15.0.1' implementation 'com.google.android.gms:play-services-base:15.0.1' }
Pada file
build.gradle
aplikasi Anda, setelcompileSdkVersion
ke versi terbarunya.
Mengonversi semua konfigurasi yang ada yang menggunakan layanan Google Play
- Jika Anda telah memiliki aplikasi yang menggunakan layanan Google Play, ganti semua referensi untuk
paket
com.google.android.gms.maps
dengancom.google.android.m4b.maps
. - Beri awalan
m4b_
ke semua referensi atribut tata letak XML. Contoh:m4b_mapType
danm4b_cameraZoom
.
Menetapkan setelan dalam manifes aplikasi
Aplikasi Android yang menggunakan Maps SDK for Android perlu menetapkan
setelan berikut dalam file manifesnya, AndroidManifest.xml
:
Kunci API
Buat kunci API untuk project Anda, lalu 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 turunan dari elemen <manifest>
dalam AndroidManifest.xml
.
Izin akses lokasi
Jika aplikasi mengakses lokasi pengguna saat ini dengan mengaktifkan lapisan My Location, Anda harus meminta izin akses lokasi seperti yang dijelaskan dalam panduan untuk data lokasi.
Izin penyimpanan eksternal
Jika Anda menargetkan SDK layanan Google Play versi 8.3 atau yang lebih baru, izin WRITE_EXTERNAL_STORAGE
untuk menggunakan Maps SDK for Android tidak diperlukan lagi.
Jika Anda menargetkan SDK layanan Google Play versi sebelumnya, Anda harus meminta izin android.permission.WRITE_EXTERNAL_STORAGE
.
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
Catatan: Jika aplikasi Anda menargetkan API level 23 (Android 6.0), yang mengharuskan penggunaan izin waktu proses, Anda harus menargetkan SDK layanan Google Play versi 8.3 atau yang lebih baru.
Izin secara otomatis digabungkan ke dalam manifes Anda
Izin berikut ditentukan dalam manifes layanan Google Play, dan secara otomatis digabungkan ke dalam manifes aplikasi Anda pada waktu build. Anda tidak perlu menambahkannya secara eksplisit ke manifes:
android.permission.INTERNET
- Digunakan oleh API untuk mendownload ubin peta dari server Google Maps.android.permission.ACCESS_NETWORK_STATE
- Memungkinkan API memeriksa status koneksi untuk menentukan apakah data dapat didownload.
OpenGL ES versi 2
Maps SDK for Android menggunakan OpenGL ES versi 2 untuk merender peta. Setelan berikut ditentukan dalam manifes layanan Google Play, dan secara otomatis digabungkan ke dalam manifes aplikasi Anda pada waktu build. Anda tidak perlu menambahkannya secara eksplisit ke manifes:
<uses-feature android:glEsVersion="0x00020000" android:required="true"/>
Hal ini akan memberi tahu layanan eksternal mengenai persyaratan tersebut. Khususnya, hal ini mencegah Google Play Store menampilkan aplikasi Anda pada perangkat yang tidak mendukung OpenGL ES versi 2.
Menambahkan peta
Cara termudah untuk menguji apakah aplikasi Anda telah dikonfigurasi dengan benar adalah dengan menambahkan peta sederhana.
Tambahkan fragmen berikut di
activity_main.xml
.<?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"/>
Tambahkan kode berikut di
MainActivity.java
.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); } }
Membuat dan menjalankan aplikasi Anda
Buat dan jalankan aplikasi Anda. Anda akan melihat sebuah peta.
Pemecahan masalah:
Jika Anda tidak melihat peta, pastikan bahwa Anda telah menyelesaikan semua langkah yang disebutkan sebelumnya dalam dokumen ini. Khususnya, pastikan kunci API Anda sudah benar dan bahwa akun Anda diaktifkan untuk layanan Premium Plan Google Maps Platform.
Jika jumlah metode dalam project melebihi batas, Anda mungkin akan menerima pesan error:
Unable to execute dex: method ID not in [0, 0xffff]: 65536
Untuk informasi terkait penyebab dan solusi, lihat panduan developer Android tentang cara membuat aplikasi dengan lebih dari 65.000 metode.
Jika project Anda sudah bergantung pada Guava, Anda mungkin akan mengalami error tumpang-tindih class seperti ini:
com.android.dex.DexException: Multiple dex files define Lcom/google/common/annotations/Beta
Untuk mengatasi masalah ini, Anda dapat menghapus salinan Guava dari direktori
google-maps-sdk-m4b_lib/libs
.
Informasi selengkapnya
Cara memigrasikan aplikasi yang ada
API Android yang tersedia bersama Premium Plan telah didesain sangat mirip dengan Maps SDK for Android standar. Oleh karena itu, proses migrasi menjadi sederhana.
- Download Maps SDK for Android untuk Premium Plan, lalu tambahkan SDK ke project Anda seperti yang dijelaskan di atas.
- Ganti semua referensi untuk
paket
com.google.android.gms.maps
dengancom.google.android.m4b.maps
. - Beri awalan
m4b_
ke semua referensi atribut tata letak XML. Contoh:m4b_mapType
danm4b_cameraZoom
. - Buat kunci API baru untuk project Anda, lalu tambahkan kunci tersebut ke
AndroidManifest.xml
, seperti yang dijelaskan dalam panduan autentikasi. - Buat aplikasi Anda.
Membandingkan versi
Tabel berikut menjelaskan perbedaan utama antara menggunakan Maps SDK for Android standar dan menggunakan API dengan Premium Plan.
Maps SDK for Android Standar | Premium Plan | |
---|---|---|
Nama paket | com.google.android.gms.maps |
com.google.android.m4b.maps |
Atribut XML pada file tata letak | Gunakan nama atribut tanpa awalan. Contoh:
mapType . |
Beri awalan m4b_ ke semua nama atribut. Contoh:
m4b_mapType . Untuk mengetahui detailnya, lihat
dokumentasi
mengenai atribut XML. |
Lokasi download | Disertakan dengan layanan Google Play. | Tersedia sebagai library statis. |
Saluran dukungan | Dukungan dari komunitas | Akses ke dukungan Premium |
Persyaratan | Tunduk pada Persyaratan Layanan Google Maps Platform. | Tunduk pada persyaratan Premium Plan Google Maps Platform. |
Layanan Google Play
Maps SDK for Android standar memerlukan
APK layanan Google Play dan library klien maps
layanan Google Play (com.google.android.gms:play-services-maps
).
Namun, jika digunakan dengan
Premium Plan Google Maps Platform, SDK hanya
memerlukan APK layanan Google Play terinstal di perangkat target - library klien maps
tidak diperlukan.
Saat memigrasikan aplikasi ke Premium Plan,
Anda harus menghapus library klien maps
dari project, beserta
semua referensi ke paket com.google.android.gms.maps
. Pastikan Anda hanya
menggunakan Premium Plan SDK
(paket com.google.android.m4b.maps
) untuk mengakses Maps.
Anda dapat menyertakan library klien layanan Google Play lainnya secara bebas untuk memanfaatkan Google API lainnya, seperti Google Analytics API atau Google Location API dan Activity Recognition API.
Kode contoh
Repo Google Maps pada GitHub mencakup sejumlah contoh
yang menggambarkan penggunaan Maps SDK for Android di aplikasi Android Anda.
Perhatikan bahwa contoh aplikasi menggunakan paket com.google.android.gms.maps
, bukan
com.google.android.m4b.maps
yang digunakan pada
Premium Plan.
Contoh aplikasi juga memerlukan SDK layanan Google Play,
karena aplikasi tersebut menggunakan Location API pada beberapa bagian demo.
Selain itu, Anda dapat menemukan cuplikan kode di setiap halaman panduan developer.
Dokumentasi
Sumber informasi utama tentang Premium Plan Google Maps Platform adalah dokumentasi referensi dan developer yang tersedia di situs kami.