Membuat Peta Tempat Menggunakan Google Maps Android V2 API (Part 1-Menampilkan Peta)
11:18 PMMenampilkan Peta
Pada postingan sebelumnya pernah dijelaskan bagaimana cara membuat peta menggunakan Google Maps Javascript API v3. Sekarang kita akan membuat aplikasi android menggunakan Google Maps Android API V2. Untuk instalasi dari API nya sendiri dibutuhkan beberapa langkah yang menurut saya cukup merepotkan, langsung saja sebelum kita melakukan coding kita lakukan dulu instalasi API nya. .
Google maps Android API ini sendiri merupakan bagian dari Google Play Service, jadi untuk menginstallnya pertama kita harus melakukan download Google Play Service menggunakan Android SDK Manager.
Setelah itu kita import Google Play Service yang sudah kita download ke dalam Eclipse kita. File->Import->Existing Android Code Into WorkSpace
Browse Folder Google Play Service yang sudah kita download, lokasinya berada di
android-sdk-windows\extras\google\google_play_services\libproject\google-play-services_lib
Jangan lupa check bagian copy Project Into Workspace.
Step Berikutnya adalah melakukan Generate Google Maps API key.
Pertama untuk mendapatkan API key kita perlu melakukan generate SHA-1 fingerprint menggunakan java keytool.
Cara menggunakan java keytool kita harus membuka nya melalui command prompt(cmd), change directory cmd menjadi
C:\Program Files\Java\jdk1.7.0\bin> (Bisa berubah, tergantung dimana anda menginstall java)
masukkan perintah berikut pada cmd anda:
keytool -list -v -keystore
"%USERPROFILE%\.android\debug.keystore"
-alias androiddebugkey -storepass android -keypass android
Pada output diatas terdapat SHA 1 fingerprint diantara MD5 dan SHA256, jangan close dulu output ini, sekarang kita buka Google API Console.
Service->Cari Google Maps Android V2, aktifkan
Setelah itu pilih API Access, lalu pilih Create new Android key , lalu akan muncul tampilan berikut
Masukkan SHA 1 fingerprint anda, diikuti dengan nama package Android Application anda, dan anda akan mendapatkan API key anda
Lets Start Code. . :)
eitss, sebelum coding tentunya kita buat dulu Android Application Project dengan package name sesuai dengan yang di register tadi.(package name yang saya pakai adalah com.dea.mymaps)Setelah project selesai dibuat, mari kita masukkan library Google Play Service pada project kita.
Klik Kanan project anda->Properties->Android->Add
Setelah itu buka AndroidManifest.xml lalu tambahkan kode xml berikut di dalam tag application, kode di bawah ini berfungsi untuk mendaftarkan google play service dan google maps sekaligus API key nya di dalam aplikasi kita
Setelah itu kita juga mendaftarkan permission pada AndroidManifest.xml, kita tambahkan kode berikut
Permission diatas nantinya digunakan antara lain untuk mengakses internet, lokasi, dll
Sekarang kita masukkan kode berikut pada MainActivity.java
Sekarang silahkan coba run aplikasi peta anda, jika terjadi kesalahan masih ada cara lain lagi untuk menampilkan peta :) silakan kunjungi https://developers.google.com/maps/documentation/android/start
Inilah tampilan peta yang saya buat.
Sekian tutorial kali ini. .
Baca juga tutorial lainnya.
PART 2 - Menampilkan User Location
PART 3 - Menampilkan Marker dari Web Service
:)
GBU
32 comments
gan kok eror di (R.id.map) >>>>> map nya erorr kira2 apax ya gan???
ReplyDeletedi xml layout nya udah ada fragment yang id nya map belum gan?
Deleteane lupa naroh di atas. .
kyk gini mungkin xml nya
iya gan error
ReplyDeleteblm ada r.id.map nya
jadi nya kalau ditambah gmn gan?
udah ane jawab di komen bawah gan
Deletekurung buka fragment
ReplyDeleteandroid:id="@+id/map"
android:layout_width="match_parent"
android:layout_height="match_parent"
class="com.google.android.gms.maps.SupportMapFragment" slash kurung tutup
hhe, komen diatas ternyata ga muncul, ada tagnya
Keren ne tutorialnya,...
ReplyDeleteane ijin praktek gan.....
bang tiap ane launc, kok "android library project cannot be launch" klok diilangin centanngnya mau sih tp kagak nampak mapnya
ReplyDeleteaduh saya belum pernah keluar error kayak gitu gan, kalo ga nampak mapnya kemungkinan API key nya salah. .
Deletecoba itu di library pada [klik kanan project>>propertise>>android>>pada check box (Is Library) uncheck] setelah itu klik 'OK'
Deletesemoga bisa membantu
gan cara cek API key nya salah ato g gmn y?????
ReplyDeletecek di log cat, biasanya ada tulisan yg intinya disuruh ngecek API key nya, . .
Deleteyang paling simple ya kalo aplikasi engga force close, koneksi lancar tapi peta nya engga keluar, berarti API key nya salah. .
punyaku kok setiap ada tag fragmentnya error ya tolong mas pnjelasannya??
ReplyDeletekurang tau juga kalo itu, fragment biasanya udah default.. coba di load ulang eclipsenya.. saya belum pernah kejadian seperti itu soalnya. .
Deleteprogramnya jalan tapi saat manggil mapnya itu error force terus saya jalaninya lewat emulator android??
Deleteemulator nya apa? setau saya kalo ADT bundle emulatornya engga bisa ngeluarin maps, engga ada google play service nya. .biasanya kalo ngoding peta langsung di real device
Deletepakek nexus. tapi kok setiap ada tag fragment di xmlnya pasti programnya force terus padahal udah sma dengan tutorialnya. jalani di genymotion gak bisa juga kanapa ya tolong buat pakek bahan skripsiku??
Deleteandroid:id="@+id/map"
Deleteandroid:layout_width="match_parent"
android:layout_height="match_parent"
class="com.google.android.gms.maps.SupportMapFragment" slash kurung tutup
udah ada ini?? yang saya komen di atas, ada kurang r.id.map nya
errornya kayak dibawah ini mas:
Delete03-11 19:25:18.609: E/AndroidRuntime(7694): FATAL EXCEPTION: main
03-11 19:25:18.609: E/AndroidRuntime(7694): java.lang.RuntimeException: Unable to start activity ComponentInfo{in.wptrafficanalyzer.locationingooglemapv2/in.wptrafficanalyzer.locationingooglemapv2.MainActivity}: android.view.InflateException: Binary XML file line #13: Error inflating class fragment
03-11 19:25:18.609: E/AndroidRuntime(7694): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2097)
03-11 19:25:18.609: E/AndroidRuntime(7694): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2122)
03-11 19:25:18.609: E/AndroidRuntime(7694): at android.app.ActivityThread.access$600(ActivityThread.java:140)
03-11 19:25:18.609: E/AndroidRuntime(7694): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1228)
03-11 19:25:18.609: E/AndroidRuntime(7694): at android.os.Handler.dispatchMessage(Handler.java:99)
03-11 19:25:18.609: E/AndroidRuntime(7694): at android.os.Looper.loop(Looper.java:137)
03-11 19:25:18.609: E/AndroidRuntime(7694): at android.app.ActivityThread.main(ActivityThread.java:4895)
03-11 19:25:18.609: E/AndroidRuntime(7694): at java.lang.reflect.Method.invokeNative(Native Method)
03-11 19:25:18.609: E/AndroidRuntime(7694): at java.lang.reflect.Method.invoke(Method.java:511)
03-11 19:25:18.609: E/AndroidRuntime(7694): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:994)
03-11 19:25:18.609: E/AndroidRuntime(7694): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:761)
03-11 19:25:18.609: E/AndroidRuntime(7694): at dalvik.system.NativeStart.main(Native Method)
03-11 19:25:18.609: E/AndroidRuntime(7694): Caused by: android.view.InflateException: Binary XML file line #13: Error inflating class fragment
03-11 19:25:18.609: E/AndroidRuntime(7694): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704)
03-11 19:25:18.609: E/AndroidRuntime(7694): at android.view.LayoutInflater.rInflate(LayoutInflater.java:746)
03-11 19:25:18.609: E/AndroidRuntime(7694): at android.view.LayoutInflater.inflate(LayoutInflater.java:489)
03-11 19:25:18.609: E/AndroidRuntime(7694): at android.view.LayoutInflater.inflate(LayoutInflater.java:396)
03-11 19:25:18.609: E/AndroidRuntime(7694): at android.view.LayoutInflater.inflate(LayoutInflater.java:352)
03-11 19:25:18.609: E/AndroidRuntime(7694): at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:306)
03-11 19:25:18.609: E/AndroidRuntime(7694): at android.app.Activity.setContentView(Activity.java:1912)
03-11 19:25:18.609: E/AndroidRuntime(7694): at in.wptrafficanalyzer.locationingooglemapv2.MainActivity.onCreate(MainActivity.java:28)
03-11 19:25:18.609: E/AndroidRuntime(7694): at android.app.Activity.performCreate(Activity.java:5163)
03-11 19:25:18.609: E/AndroidRuntime(7694): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1094)
03-11 19:25:18.609: E/AndroidRuntime(7694): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2061)
03-11 19:25:18.609: E/AndroidRuntime(7694): ... 11 more
03-11 19:25:18.609: E/AndroidRuntime(7694): Caused by: java.lang.ClassCastException: com.google.android.gms.maps.MapFragment cannot be cast to android.support.v4.app.Fragment
03-11 19:25:18.609: E/AndroidRuntime(7694): at android.support.v4.app.Fragment.instantiate(Fragment.java:394)
03-11 19:25:18.609: E/AndroidRuntime(7694): at android.support.v4.app.Fragment.instantiate(Fragment.java:369)
03-11 19:25:18.609: E/AndroidRuntime(7694): at android.support.v4.app.FragmentActivity.onCreateView(FragmentActivity.java:272)
03-11 19:25:18.609: E/AndroidRuntime(7694): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:676)
03-11 19:25:18.609: E/AndroidRuntime(7694): ... 21 more
kira2 apanya yang slah ya...??
saya juga kurang tau gan kalo log cat yang kayak itu. .
Deletegoogle play service library nya udah di include??terus API key nya?
mungkin buat dari awal lagi gan.. kalo masi bingung bisa langsung download source code nya dari google maps v2 langsung
Mohon Bantuannya... kenapa pas di run selalu muncul unfortunately, has stoped....dan aplikasinya langsung tertutup..., bagaimana ya?
ReplyDeletepesan error nya apa gan?
Deletesama ane juga gitu, .
Deleteudah ada xml yang isinya map fragment nya belum? kalo belum lihat komen saya sebelumnya, udah saya kasi contoh. .
Deletesumpah ..
ReplyDeleteane bingung banget..
thank you .. work
ReplyDeletegan itu mMap apaan gan kok yang saya error disitunya
ReplyDeletecoba di lihat bagian xml nya sudah ada mMap nya belum.. bagian fragmen map nya . .
ReplyDeletesaya masih error gan, udah ada fragmennya
Deletegan errornya malah Caused by: java.lang.ClassNotFoundException: com.google.android.gms.maps.SupportMapFragment
ReplyDeletepadahal classnya udah ada
numpang tanya, yang bagian folder libproject/google_play_service_lib kok gak ada ya ?
ReplyDeletemakasih
TOP
ReplyDeleteandroid:value="@integer/google_play_services_version" /> ini dapet darimana mas? punya saya silang manifest nya,, @integer/google_play_services_version
ReplyDelete