Tutorial Android : Menampilkan Google Map Dengan GoogleMap API di Emulator Android

Dari 2 hari yang lalu, entah kenapa saya uring-uringan bin galau terus menerus. Bawaannya pengen tidur + meluk guling aja, padahal masih ada segudang kegiatan dan tugas yang harus saya kerjakan. Salah satunya ialah menyiapkan berbagai abstraksi untuk coba-coba ikut seminar nasional lagi. Dan tepatnya tadi malam ada sedikit kabar gembira buat saya, yaitu makalah saya yang gagal tembus ke sesindo bulan kemarin akhirnya bisa diterima di knsi, lantaran seleksinya yang sangat-sangat ketat. Yaw walaupun tidak se-terkenal sesindo, acara knsi tersebut sudah lumayan memberikan sedikit motivasi untuk saya, karena terus terang saja saya merasa minder ketika makalah saya ditolak di ajang sesindo. Sekarang saatnya mencari kucuran dana untuk membayar biaya pendaftaran pemakalah lewat jurnal kampus :D.

Mulai pada postingan kali ini saya akan coba untuk mengulas cara pembuatan aplikasi di platform Android, hitung-hitung sambil mencoba ilmu baru. Bahasa pemrograman yang digunakan untuk membuat aplikasi di Android ialah Java, otomatis kita membutuhkan JDK (Java Development Kit). Selain itu, kita juga membutuhkan Android SDK (Software Development Kit) dan sebuah IDE sebagai compiler-nya. Disini, saya akan mencoba untuk membuat sebuah aplikasi sederhana untuk menampilkan peta dengan memanfaatkan GoogleMap API milik Google. Keliatannya memang gampang, tapi tunggu sampai tahap generate API Key dari Google, dijamin garuk-garuk kepala kalau Key-nya dianggap gak valid (#haha).

1. Saya praktekkan di laptop dengan OS Window$ dan ketika saya coba di OS Ubuntu banyak error-nya. Siapkan dulu bahan-bahannya dan jangan lupa untuk diinstal :

  • JDK versi 1.6, kenapa…??? Sesuai pengalaman saya, kalau pakai JDK yang terbaru alias 1.7, dijamin deh Key yang dihasilkan gak akan valid ketika didaftarkan.
  • Android SDK Manager
  • Android SDK 2.2 dan Google API Level 8
  • Eclipse Helios for Java Developers
  • Plug In ADT (Android Development Tools) for Eclipse

2. Setelah semua komponen terinstal, kita buat Android Virtual Device (AVD) baru. Buka android SDK Manager, dan pilih New.

3. Untuk menampilkan Google Map, kita membutuhkan Key dari Google. Key ini bersifat unik dan didapatkan dari MD5 FingerPrint hasil generate file debug.keystore yang terdapat di direktori C:\Users\Nama_User\.android. Agar lebih mudah mencari direktorinya, copy file debug.keystore ke folder D:/android (foldernya buat sendiri). Cara generate kode-nya cukup mudah, kita bisa menggunakan Command Prompt milik Windows dan mengektikkan kode di bawah ini.

keytool.exe -list -alias androiddebugkey -keystore “D:\android\debug.keystore” -storepass android -keypass android

4. Copy MD5 FingerPrint yang dihasilkan dari CMD dan daftarkan di http://code.google.com/android/maps-api-signup.html. Maka akan muncul Key yang bisa kita gunakan untuk membangun aplikasi yang memanfaatkan Google Map.

5. Sekarang kita lanjut ke pembuatan aplikasinya, buka Eclipse dan buat project baru. File > New > Android Project.

6. Pada Package Explorer, buka dan edit file main.xml (GoogleMapSederhana > res > layout > main.xml). Ketikkan kode untuk mengubah layout aplikasi seperti di bawah ini.

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">

    <com.google.android.maps.MapView
        android:id="@+kode/mapView"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:enabled="true"
        android:clickable="true"
        android:apiKey="0F8HAxC9X2UNmnpFnmnTezlw17RREfOeKtCji3w"
        />

</RelativeLayout>

Baris code com.google.android.maps.MapView berfungsi untuk menampilkan layout Google Map dan pada android:apiKey, ketikkan kode yangsudah kita daftarkan tadi di langkah nomor 4.

7. Kita perlu menambahkan library dan permision (<uses-library> com.google.android.maps dan <uses-permission> INTERNET) agar aplikasi yang dijalankan nantinya bisa mengakses Google Map dan internet. Buka file AndroidManifest.xml, dan ketikkan kode di bawah ini :

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
	package="dlmbg.paket.map" android:versionCode="1" android:versionName="1.0">
	<application android:icon="@drawable/icon" android:label="@string/app_name">
		<uses-library android:name="com.google.android.maps" />
		<activity android:name=".GoogleMapSederhanaActivity" android:label="@string/app_name">
			<intent-filter>
				<action android:name="android.intent.action.MAIN" />
				<category android:name="android.intent.category.LAUNCHER" />
			</intent-filter>
		</activity>

	</application>
	<uses-sdk android:minSdkVersion="8" />
	<uses-permission android:name="android.permission.INTERNET"></uses-permission>
</manifest>

8. Selanjutnya, buka file GoogleMapSederhanaActivity.java (src > GoogleMapSederhanaActivity.java) dan ketikkan kode di bawah ini.

package dlmbg.paket.map;

import com.google.android.maps.MapActivity;
import android.os.Bundle;

public class GoogleMapSederhanaActivity extends MapActivity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    }

    @Override
    protected boolean isRouteDisplayed() {
        return false;
    }
}

9. Sekarang saatnya melihat hasilnya melalui Android Emulator, pada Package Explorer pilih project GoogleMapSederhana, klik kanan dan pilih Run As > Android Application. Emulatornya butuh waktu sekitar 5 menit’an untuk hidup, monggo ditinggal bikin kopi dulu :p. Dan kalau sudah hidup, hasilnya akan seperti di bawah ini :

10. Kurang lengkap rasanya jika belum ada tombol zoom in dan zoom out. Caranya sangat mudah, tinggal memanggil package MapView dan menambahkan 2 baris kode di bawah ini pada akhir event onCreate(). Kode lengkapnya seperti di bawah ini :

package dlmbg.paket.map;

import com.google.android.maps.MapActivity;
import com.google.android.maps.MapView;
import android.os.Bundle;

public class GoogleMapSederhanaActivity extends MapActivity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        MapView mapView = (MapView) findViewById(R.kode.mapView);
        mapView.setBuiltInZoomControls(true);
    }

    @Override
    protected boolean isRouteDisplayed() {
        return false;
    }
}

OK deh, sekian dulu tutorial yang cukup panjang ini. Semoga bisa bermanfaat untuk rekan-rekan yang kebetulan sedang dipusingkan dalam menampilkan Google Map ke dalam Android Emulator. Mudah-mudahan di postingan selanjutnya, saya bisa lebih banyak lagi membuat tutorial seputar pembuatan aplikasi pada platform Android.

Refrensi : http://mobiforge.com/developing/story/using-google-maps-android

Happy Blogging and Keep Coding

Cheerrrss….!!!!

[to_like]Download Aplikasi[/to_like]

27 comments

  1. baju bali Reply

    Wah saya lihat isi blognya banyak sekali tutorial tentang android. Penggemar android ya mas? atau developer mobile….. salut.

    • Gede Lumbung Post authorReply

      udah generate key’nya???
      cek juga koneksi internetnya, apa bisa diakses dari emulator atau gak…
      cek via browser emulatornya android

  2. CupzCopz Reply

    gan,itu beneran ngaruh ya klo java nya yg udah versi 1.7 g bakal valid?
    ngaruh nya pas daftar di google nya y gan pas di kasih key API nya?

    soalnya ane coba fingerprint nya g valid pas di masukkin ke codingan

  3. yosafat Reply

    mau komen pernyataan: “JDK versi 1.6, kenapa…??? Sesuai pengalaman saya, kalau pakai JDK yang terbaru alias 1.7, dijamin deh Key yang dihasilkan gak akan valid ketika didaftarkan.”

    sebenernya pake JDK 1.7 tetep bisa, tinggal ditambahin -v aja di command linenya.

    untuk JDK 1.6: keytool.exe -list -alias androiddebugkey -keystore “D:\android\debug.keystore” -storepass android -keypass android

    untuk JDK 1.7: keytool.exe -v -list -alias androiddebugkey -keystore “D:\android\debug.keystore” -storepass android -keypass android

    disitu akan akan keluar certificate fingerprint untuk MD5, SHA1, sama SHA256 dan kita tinggal ambil yang MD5 (sesuai permintaan Google).

    semoga membantu. 🙂

  4. Pingback: | » Tutorial Android : Memanfaatkan Data RSS BMKG Untuk Membuat Aplikasi Pemantau Gempa | Ng`Blog Biar Gak GobloG – BlogNya Gede Lumbung |

  5. om katon Reply

    gan itu ngejalanin aplikasi nya wajib online yaa,.. ??
    ada gak gann ngejalanin aplikasi maps nya gak harus online ??
    makasih gann.. minta bantuanya..

    • Gede Lumbung Post authorReply

      iya donk, google maps kan kudu diakses pake koneksi internet..
      ada sih yg offline, tapi kudu copy semua library+data ke aplikasi..
      itu membuat aplikasi ente jadi gemuk, dan kasian si user ente suruh download file aplikasinya yang berukuran besar 😉

      • victor Reply

        Gan, kalo mau buat aplikasi pake google map trus ofline bisa ngga..??
        Mohon Bantuanya…??

        • Gede Lumbung Post authorReply

          kayaknya saya belum nemu solusi utk itu om,,
          kalaupun bisa, pasti makan space di hape, karena harus menyimpan semua gambar peta 🙂

  6. yusuf Reply

    Makasih gan ilmunya…

    kalo aplikasinya udah jadi tapi minta tutup paksa itu knapa ya Bang?

  7. Pingback: Tutorial Android : Memanfaatkan Data RSS BMKG Untuk Membuat Aplikasi Pemantau Gempa | Ng`Blog Biar Gak GobloG – BlogNya Gede Lumbung

  8. delo Reply

    gan di cmd muncul keytool.exe is not recognized as an internal or external commend

    apa solusinya gan .. thanks

  9. jenggot Reply

    gan ane udh coba tp selalu bermasalah di

    ” setContentView(R.layout.main); ”

    ini kenapa ya gan ??

  10. jenggot Reply

    ane udh coba download android studio pas udh kelar di install pas di open ga keluar2 gan..

  11. Jenggot Reply

    gan kalo program LBS pas di running di emulatornya muncul tulisan FORCE CLOSE,,itu kenapa ya ??

  12. tomatoes Reply

    gan kalo mau mapnya cuma wilayah tertentu misal satu kota doank, gimana caranya gan?
    mohon pencerahannya…

  13. asep Reply

    map nya g muncul gan..
    di logcat muncul error “Couldn’t get connection factory client”…
    mohon pncerahannya..!

  14. Fitrada Reply

    gan mau tanya klo buat aplikasi tracking gmna yah gan?
    mohon pencerahannya

  15. wahyu Reply

    mas, itu mesti pake google api yah klo mw gunain google map, nah misalkan download sendiri tanpa lewat android SDK manager, itu menempatkan folder google apinya dimana yah