Jumpa lagi dengan Agus Haryanto diseri tutorial Android, Pada tutorial sebelumnya kita telah mempelajari tentang Mendapatkan koordinat dari GPS. Nah koordinat itu tidak akan berarti lebih apabila tidak kita tampilkan dalam MAP. Untuk Android Map yang dipakai biasanya adalah Google MAP.
Agar Emulator kita dapat menampilkan MAP Google MAP ada beberapa hal yang harus dilakukan (saya ambi dari http://mobiforge.com/developing/story/using-google-maps-android) :
- pada Android SDK harus sudah terinstall Google APIs by Google Inc, Android API 8
2. Masih dari Android SDK, buat Android Virtual Device baru untuk yang kana digunakan untuk emulator yang memnggunakan Fitur Google API. Caranya, klik Virtual Device, lalu klik tombol New akan muncul jendela “Create New Android Virtual Device” Isikan seperti gambar dibawah, lalu klik Create AVD
3. Untuk memanfaat kan fitur Google Map ini, kita memerlukan Map API Key, tanpa ini kita tidak akan dapat menampilkan MAP di Android. Bagian inilah yang sering dilupakan, sehingga banyak yang bingung, mendapatkan Map nya tidak tampil.
4. Kalau anda pakai Windows XP cari file debug.keystore
. , biasanya terletak di directory C:\Documents and Settings\<username>\Local Settings\Application Data\Android
5. Copykan file debug.keystore ke directory c:\android
6. Kita buat MD5 FingerPrint dengan menggunakan command keytool.exe yang ada pada java SDK, biasanya terletak di “C:\Program Files\Java\<JDK_version_number>\bin”
7. Dari command promt masuk kedirectory tesebut lalu jalankan ketikkan “
keytool.exe -list -alias androiddebugkey -keystore "C:\android\debug.keystore" -storepass android -keypass android” lalu tekan enter
8. MD5 FingerPrint ini kana digunakan untuk membuat Key Goggle Map. Sekarang kita buka browser masuk ke “https://developers.google.com/maps/documentation/android/v1/maps-api-signup” ikuti petunjuk yang ada. 9. Selamat anda telah sukses mendapatkan Key Google Map. Simpanlah key ini. Jangan sampai hilang, karena akan kita pakai untuk develop menggunankan Google Map dian droid. Panjangyah langkah-langkahnya, ayo terus semangat Persiapan Sudah selesai, sekarang kita masuk ke pembuatan Aplikasinya, berikut langkah langkahnya. 1. Seperti biasa, buat New Android Project2. Pada saat project pertama kali dibuat ada 3 file penting yang langsung dibuat, yaitu
- main.xml
- string.xml
- TampilkanMap.java
<?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="@+id/mapView" android:layout_width="fill_parent" android:layout_height="fill_parent" android:enabled="true" android:clickable="true" android:apiKey="isi dengan key Google Map API" /> </RelativeLayout>
Disini untuk menampilkan MAPnya kita menggunakan tag com.google.android.maps.MapView sedangkan untuk Layoutnya adalah RelativeLayout
Untuk android:apiKey, isi dengan key Google Map yang telah kita buat tadi
4. Untuk dapat melakukan menampilan Map Google Map kita perlu menambahkan <uses-library>
com.google.android.maps dan <uses-permission> INTERNET nya melalui file AndroidManifest.xml , buka file AndroidManifest.xml lalu ketikkan seperti kode berikut
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.agus" 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=".TampilkanMap" 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>
5. Edit file TampilkanMap.java dan ketikkan kode dibawah ini
package com.agus; import com.google.android.maps.MapActivity; import com.google.android.maps.MapView; import android.os.Bundle; public class TampilkanMap 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; } }
Pada kode diatas class TampilkanMap meng extends class MapActivity, agar class ini dapat menampilkan map.
7. Sekarang mari kita coba run Project BelajarGoogleMap, maka hasilnya akan seperti ini
8. Horee, We can do that J, Alhamdulillah akhirnya MAPnya tampil.
9. Map diatas rasanya masih kurang karena belum ada tombol (navigasi) untuk pengaturan zoom viewnya.
Untuk itu tambahkan kode berikut pada baris terakhir method onCreate
MapView mapView = (MapView) findViewById(R.id.mapView);
mapView.setBuiltInZoomControls(true);
Kalau kita run project kita sekarang, lalu kita klik salah satu bagian map, maka akan muncul zoom controlnya
10. Kita dapat mengatur (map) peta mana yang ingin kita tampilkan dilayar caranya dengan menentukan koordianat latitude dan longitudenya. Untuk kodenya adalah
double lat = -6.2532592788520005;
double lng = 106.853239291777;
GeoPoint point = new GeoPoint((int) (lat *1E6),(int) (lng * 1E6));
mapView.getController().animateTo(point);
mapView.getController().setZoom(15);
point adalah koordinat yang kita tentukan,
mapView.getController().animateTo(point); akan membuat map yang ditampilkan adalah map yang koordinat dtitik tengahnya adalah point
mapView.getController().setZoom(15); akan menset zoom level map nya adalah 15
Sehingga kode lengkap dari TampilkanMap.java adalah
package com.agus; import com.google.android.maps.GeoPoint; import com.google.android.maps.MapActivity; import com.google.android.maps.MapView; import android.os.Bundle; public class TampilkanMap 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.id.mapView); mapView.setBuiltInZoomControls(true); double lat = -6.2532592788520005; double lng = 106.853239291777; GeoPoint point = new GeoPoint((int) (lat *1E6),(int) (lng * 1E6)); mapView.getController().animateTo(point); mapView.getController().setZoom(15); } @Override protected boolean isRouteDisplayed() { return false; } }
sekarang mari kita run projectnya, maka tampilannya akan seperti ini
Sekarang yang muncul adalah peta jakarta, hal ini terjadi karena kita menset koordinat latitude dan langitudeny adalah salah satu titik lokasi dijakarta
Makin seru saja kan android, setelah berhasil dalam tutorial ini, tentunya kita makin semangat dan selanjutnya akan timbul pertanyaan bagaimana cara membuat marker dan infowindow pada google map di android.
Untuk tutoial marker dan info window insya Allah akan diposting pada tutorial selanjutnya.
Salam hangat
Agus Haryanto
@Rendy, Untuk dapat diinstall di HP biasanya file APK yang dibuat menggunakan file keystore sendiri. jadi untuk Key Google Apinya harus digenerate berdasarkan file keystore tersebut
@ayusinthia, Kemungkinan masalahnya sama dengan pauljsenjs, KeyGoogleMap yang digunakan masih dari file debugkeystore, yang mana ini hanya khusus untuk development, sedangkan untuk install diHP, biasanya kita mengeksport project kita menjadi file APK dan dalam prosesnya kita disuruh membuat atau menggunakan file keystore sendiri. nah agar petanya tampil di Handset kita perlu generate ulang Key Google mapnya dengan file keystore tersebut
mas ini proses penampilan map nya emang lama ya, dari tadi saya cuma muncul bentuk kotak2 aja, kyk di milimeter blok gitu mas ????
mas mau nanya klo dapetin latitude dan longitudenya gmana ?
misal nya untuk dapatin latitude dan longitudenya alamat rumah saya….
mas ini nyoba2 jg ga bisa2 tampilin mapnya .
gimana ya ?tolong dijawab yah mas urgent nih ,
hihihi
buat mas @opik gimana caranya tahu proxy sama portnya ,
emulator saya jalan browsernya tapi saya liat proxy sama port mang kosong.
@cung cruy pas mau di masukin passwordnya ko gak bisa ya? gak bisa ketik apa2.. Any Solution? 😀
Thx Before! 😀
Unable to open stack trace file ‘/data/anr/traces.txt/: Permission denied
kira2 ini kenapa ya om ?
Om Agus, gimana sih cara membuat google maps offline ??
gan ente kan jelasin gini ‘KeyGoogleMap yang digunakan masih dari file debugkeystore, yang mana ini hanya khusus untuk development, sedangkan untuk install diHP, biasanya kita mengeksport project kita menjadi file APK dan dalam prosesnya kita disuruh membuat atau menggunakan file keystore sendiri. nah agar petanya tampil di Handset kita perlu generate ulang Key Google mapnya dengan file keystore tersebut.’
nah ane mau tanya, itu gimana yah caranya bikin keystore sendiri di handset???tutornya yah…
kalo di kompi ane udah jalan,,,thanks berat ^^
@diamz, keystore dapat kita buat sendiri, coba cek tutorial http://agusharyanto.net/wordpress/?p=355
kok petanya punya saya Pak g’ muncul pdahal saya udah punya key api map dr google dan udah saya Edit main.xml lalu isikan kode berikut:
com.google.android.maps.MapView
android:id=”@+id/mapView”
android:layout_width=”fill_parent”
android:layout_height=”fill_parent”
android:enabled=”true”
android:clickable=”true”
android:apiKey=”0M3jys493yPqKtGEr9Tqddnz–4x3nvRT0kfPXg”
kira2 masalahnya dimna Pak mohon penjelasannya… makasih sebelumnya mas … 🙂
makasih ya pak tutorialnya…:D
mas,, udh ane cba running g bsa…
lngsng force close…
tu knp y???
masih belajar…
Saya sudah mencoba suhu,
tapi gagal terus, selalu muncul pesan
“FORCE CLOSE” (program tdk bisa dijalankan di android) 🙁
letak kekurangannya di mana ya? saya sudah mencoba step by step seperti langkah di atas, di coding tdk ada error.
Mohon bimbingannya suhu.. 🙂
saya udah copy-paste semua koding di atas, tapi nggak bisa .. kenapa ya…??
@gio, coba ikuti tutorialnya sampai akhir baru run
saya sudah ada fingerprint tapi bukan MD5 melainkan SHA1 dan setelah saya masukkan untuk mendapatkan Api Key, muncul pemberitahuan bahwa fingerprint tidak valid, bagaimana solusinya?
lanjutan
saya pakai windows 7,
@sulaiman mungkin jdk-nya versi 7 jadi kodenya sha1 biar md5 gunakan jdk versi 6..klo gak gunakan converter sha1 to md5
mas kenapa ketika saya membuat MD5 fingerprint kok malah gak keluar seperti yang digambar. malah keluar seperti ini
illegal : option :-
try keytool – help
padahal saya sudah mengikuti step2 diatas..mohon bantuan.
pak agus..saya sudah mencoba semua tutorialnya dan tidak ada problem…tapi waktu di run muncul Force Close dan di Console muncul ActivityManager: Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.angga/.tampilkanmap }
kira2 apa ya pak?
thx
mas, kok dicompile blank ya? tampilan hitam n cuma judulnya doang
mas ko map sya ngg keluar ya???
sya udh dpet fingerptintnya tp ngg bisa dgenerate ktanya sidik jari yg anda masukkan salah .solusinya gmn ya mas???
@Fauziah, harusnya kalau sudah ikuti tutorial dengan benar, mapnya akan muncul
mas map sya ttp g mncul
apa krna debugnya??coz d .android sya bkn debug.keystore tp debug doank…ngaruh ngg??tu knp y mas??mohon bantuannya 😉
@Tyo
saya sudah convert nilai SHA1 ke MD5…dan sudah dapat API key, tp setelah dimasukkan ke script te2p map tidak muncul.
setelah itu saya coba instal jdk 6 dan map bisa muncul pke api key dr jdk 6
masalahY, jdk 7 tidak saya uninstall…jd ada 2 jdk, 6 dan 7
mohon penjelasanY. apakah nanti ada pengaruhY?
terima kasih
mas agus,tampilan peta saya di emulator berhasil tampil..tapi begitu saya coba install di ponsel,peta tidak tampil hanya kotak-kotak,apa ada yang harus di set kalo untuk di install di ponsel?
sudah bisa mas saya coba lagi setelah saya baca komen2 di atas,terima kasih 😀
mas,kok map saya tetep ga bisa keluar ya? Padahal sudah saya ikutin tutorial’y
Mas Agus, ada yang perlu ditambahin itu mas. untuk JDK version 1.7.0 jika dengan command
keytool.exe -list -alias androiddebugkey -keystore “C:\android\debug.keystore” -storepass android -keypass android”
itu yang nongol cuman keygenerate SHA1, jadi kalo mau dapetin fingerprint MD5 ditambahin sedikit aja commandnya jadi :
keytool.exe -v -list -alias androiddebugkey -keystore “C:\android\debug.keystore” -storepass android -keypass android”
pak agus saya bingung dengan ini punya saya eror disini dari file manifest.xml !!
gmn edit diapplicationnya ?? tolong tutonya donk mas agus atau yg laennya…
Mastah saya mau tanya nih tentang google map..
kan saya belajar tutorial om agus http://agusharyanto.net/wordpress/?p=269
udah ga ada eror..
nah.. pas di running ga muncul muncul mapnya.. dah di tunggu lamaaaa.. ampe di tinggal mandi ga muncul juga :nangis:
munculnya cuma kotak kotak g ada mapnya.. :bingung:
log cat nya seperti ini :
http://i.imgur.com/rQjab.jpg
screenshot output :
http://i.imgur.com/mhSBT.jpg
Source Code :
http://www.mediafire.com/download.php?53736m4rp0gev4i
Thanks gan 🙂
@vadhiem, connect internet nggak ?. lalu kalau connectnya pakai modem, coba LAN ehthernetnya didisable
quote:
@vadhiem, connect internet nggak ?. lalu kalau connectnya pakai modem, coba LAN ehthernetnya didisable
@om Agus:
wah bener mas.. udah bisa sekarang.. keluar tampilan mapnya.. Thanks..
tadi saya lanjut tutor berikutnyaa.. tapi ga nongol om cm layar putih aja, tp ga kotak2 kayak kemarin..
ss nya :
http://i.imgur.com/fLywD.jpg
sudah bisa om.. terima kasih sangat membantu..
mas gmn cara daftarin keystore yg versi mas?? yg link mas kasih yg versi MD5,,sedangkan java JDK yg saya sidik jari versi 1.7.0 ada link untuk daftarin sidik jadi yg versi SHA1 gak mas ??
Mas agus ko itu gk di buat class MapActivity nya ya??
boleh minta source program untuk class MapActivity nya gk, karna untuk class tampilkanmap belum lengkap klo blum dibuat class mapactivity(terjadi error).. mohon bimbingan nya ya mas agus, terimakasih sebelumnya 🙂
om agus mau tanya, klo koneksi speedy ke emulator android gmn ya, karena map nya tidak mau muncul, saya browsing kesana kemari bnyak yg jwab itu karena koneksi emulator yg tidak secara langsung terkoneksi. karena saya menggunakan speedy jd koneksi internet emulator harus menggunakan proxy tp gk akan bisa running aplikasi jika menggunakan proxy, tolong kasih solusinya om agus. untuk google api dan semua coding nya sudah benar om tp tetep saja ketika di running map tidak muncul :nangis:
pesan log nya seperti ini: couldn’t get connection factory client
kenapa ya pas command promtnya key toolnya eror.. tulisannya, keytool error :java.lang.Exception: Keystore file does not exist: C:\android\debug.keystore
saya pake windos7.. kira-kira salah dimananya??
mohon bantuannya…
Pak Agus:
Yang dimaksud keystore itu file yang debug.keystore atau keystore hasil generate assign android yang untuk di device?
Saya sudah mencoba generate md5 dari debug.keystore dan register di google signup dan Api-nya saya gunakan (apinya saya copy paste langsung dari google -tidak ketik manual) namun hasilnya yang muncul hanya kotak-kotak di device saya.
Note:
Saya menggunakan jdk1.7.0_03
Oh iya koneksi internet juga bagus, kira2 dimananya ya kurang? sudah saya buat persis seperti yang ditulis pak agus diatas
Terima kasih
mas saya ikuton tutorial yg diatas tapi ko ga jalan ya programnya ?
selalu ada bacaan ” The import com.google cannot be resolved” itu kenapa ya mas ??
mohon bantuannya
Gmana dengan kasus link di bawah ini?
https://forum.jquery.com/topic/google-maps-inside-jquery-mobile
kayaknya ga pakai API key? kok bisa nampilin map ya (versi penulis).
Namun kalo saya coba ga bisa nampil map. Apa kira2 letak kesalahannya ketika
saya coba. Terima kasih sebleumnya.
kalo untuk generate apikey yg untuk HP apa sama seperti ini caranya?
om,mau tanya bagaimana teknik mendapatkan lokasi gps di hp android dan web….
untuk di ubuntu gimana yah mas ?
Om agus. I love your tutorial very much. Om mau tanya dong, kan udah jadi nie mapnya. Gimana caranya supaya ngebatasin satu daera doang. Misalnya cuman mau ngebatasin kota Jakarta aja. Jadi di map cuman nampilin kota Jakarta aja, kalau digeser ya cuman kota Jakarta tanpa sekitarnya. Apakah latitude longitudenya dibatasi? Bantuin dong om. Om agus baik dah. Maaf nanyanya kalong (alias subuh”).. Hahaha.. Nice, if you want to reply. Thank you so much. 😀
to Minta Tolong, karena pake google map jadi gak bisa dibatasin satu wilayah az, jadi tetep nampilin seluruh dunia
mau tanya mas, saat jalanin MD5 Fingerprint kok saya munculnya bukan MD5 melainkan SHA1 yac?
mohon pencerahannya….