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.
- Download dan instal Android Studio.
- Tambahkan paket layanan Google Play ke Android Studio.
- Lakukan clone atau download repositori Google Maps Android API v2 Samples jika Anda belum melakukannya saat mulai membaca tutorial ini.
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.
Untuk detail selengkapnya, lihat panduan lengkap untuk mendapatkan kunci API.
Menambahkan kunci API ke aplikasi
- Edit file
gradle.properties
project Anda. 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
- 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.)
- 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:
- Jika Anda tidak melihat peta, pastikan bahwa Anda telah mendapatkan kunci API dan menambahkannya ke aplikasi, seperti yang dideskripsikan di atas. Periksa log Android Monitor di Android Studio untuk melihat pesan error tentang kunci API.
- Gunakan alat debug Android Studio untuk melihat log dan melakukan debug pada aplikasi.
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 stringgoogle_maps_key
. Saat Anda membuat aplikasi, Gradle menyalin kunci API dari filegradle.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 stringgoogle_maps_key
ke properti gradleGOOGLE_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.
Tambahkan elemen
<fragment>
ke file tata letak aktivitas Anda,activity_maps.xml
. Elemen ini menentukanSupportMapFragment
agar berfungsi sebagai penampung untuk peta dan untuk memberikan akses ke objekGoogleMap
. 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" />
Dalam metode
onCreate()
aktivitas, tetapkan file tata letak sebagai tampilan konten. Dapatkan handle ke fragmen peta dengan memanggilFragmentManager.findFragmentById()
. Selanjutnya, gunakangetMapAsync()
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); }
Terapkan antarmuka
OnMapReadyCallback
dan ganti metodeonMapReady()
untuk menyiapkan peta saat objekGoogleMap
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.