Pada tutorial sebelumnya tentang Map kita sudah berhasil menampilkan map dan marker pada android dengan menggunakan Android GoogleMaps v1. Tetapi sejak bulan maret 2013 pembuatan key untuk Googlemaps V1 sudah tidak bisa lagi. Sehingga mau tidak mau kita harus menggunakan Android GoogleMaps V2. Harus diakui langkah untuk mendapatkan keynya lebih rumit dari yang GoogleMaps V1. Untuk itu pad tuorial ini akan diberikan juga langkah-langkah mendapatkan keynya. Mari kita mulai langkah-langkahnya.
1. Buka Android SDK Manager, Install Google Play Services dari jendela Android SDK Manager klik folder Extra lalu centang Google Play Services
2. Buat New Android Project beri nama PetaLokasi.
- Catat nama packagenya “net.agusharyanto.petalokasi” karena ini akan digunakan untuk membuat API KEY Google Map V2.
3. Langkah selanjutnya adalah menyediakan API KEY Googlemap. Karena saat ini Key untuk GoogleMap API v1 sudah tidak bisa lagi digunakan maka kita harus menggunakan Key GoogleMap API v2.
4.Cari lokasi file debug.keystore biasanya terdapat pada direktori “c:\Users\<user>\.android\debug.keystore” contoh “c:\Users\agus\.android\debug.keystore”
5. Masuk kedirektori bin pada java jdk contoh “C:\Program Files\Java\jdk1.7.0_10\bin”
6. Jalankan command untuk mendapatkan key sha1 dari debug .keystore
Syntak Commandnya adalah
keytool -list -v -alias androiddebugkey -keystore <path_to_debug_keystore>debug.keystore -storepass android -keypass android
contoh eksekusinya
keytool -list -v -alias androiddebugkey -keystore C:\Users\agus\.android\debug.keystore -storepass android -keypass android
- Catat nilai
SHA1: 24:97:A6:EB:22:24:B7:5C:A0:78:F1:96:12:FE:97:27:5A:DB:8D:0D
Registerkan Key diatasi melalui Google Api Console (https://code.google.com/apis/console/?pli=1 ) . Untuk masuk kesini kita harus punya Account GMAIL
- Klik Create project… akan muncul jendela Google apis
Aktifkan Google Maps Android API V2
Sekarang Saatnya membuat Key untuk aplikasinya. Pada Google Apis klik API Access
isikan dengan
24:97:A6:EB:22:24:B7:5C:A0:78:F1:96:12:FE:97:27:5A:DB:8D:0D;net.agusharyanto.petalokasi
Klik Create
Catat API Keynya, ini akan digunakan dalam aplikasi.
AizaSyAkJYisD9-6HB8D1ggkkWKZVtgNCLg8Fyk
Langkah selanjutnya kita harus menginclude Google Play Services sebagai library projectnya.Hal yang harus dilakukan terlibuh dahulu adalah mengimport Project Google Play Service Library ke workspace saat ini. Klik Import Android Project, set Root Directory ke direktori kita menginstall Google Play Service, misalnya saja “C:\Program Files (x86)\Android\android-sdk\extras\google\google_play_services\libproject\google-play-services_lib”
Centang Copy projects into workspace
Selanjutnya adalah menyertakan library ini dalam project kita. Caranya klik kanan pada project PetaLokasi lalu pilih properties
7. Kita harus mendaftarkan Key yang kita dapat pada AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="net.agusharyanto.petalokasi" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="11" android:targetSdkVersion="17" /> <permission android:name="net.agusharyanto.petalokasi.permission.MAPS_RECEIVE" android:protectionLevel="signature" /> <uses-feature android:glEsVersion="0x00020000" android:required="true" /> <uses-permission android:name="net.agusharyanto.petalokasi.permission.MAPS_RECEIVE" /> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" /> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name="net.agusharyanto.petalokasi.MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <meta-data android:name="com.google.android.maps.v2.API_KEY" android:value="AIzaSyAkJYisD9-6HB8D1ggkkWKZVtgNCLg8Fyk" /> <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" /> </application> </manifest>
8. Edit file activity_main.xml lalu ketikan kode berikut
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity" > <fragment android:id="@+id/map" android:layout_width="match_parent" android:layout_height="match_parent" class="com.google.android.gms.maps.MapFragment" /> </RelativeLayout>
9. Edit class MainActivity.java lalu ketikan kode berikut
package net.agusharyanto.petalokasi; import android.app.Activity; import android.os.Bundle; import android.view.Menu; import com.google.android.gms.maps.CameraUpdateFactory; import com.google.android.gms.maps.GoogleMap; import com.google.android.gms.maps.MapFragment; import com.google.android.gms.maps.model.BitmapDescriptorFactory; import com.google.android.gms.maps.model.LatLng; import com.google.android.gms.maps.model.Marker; import com.google.android.gms.maps.model.MarkerOptions; public class MainActivity extends Activity { static final LatLng RAGUNAN = new LatLng(-6.3039, 106.8267); static final LatLng TAMANMINI = new LatLng(-6.29436, 106.8859); private GoogleMap map; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); map = ((MapFragment) getFragmentManager().findFragmentById(R.id.map)) .getMap(); Marker ragunan = map.addMarker(new MarkerOptions().position(RAGUNAN) .title("Ragunan")); Marker tamanmini = map.addMarker(new MarkerOptions() .position(TAMANMINI) .title("Taman Mini") .snippet("Taman Mini itu Indah") .icon(BitmapDescriptorFactory .fromResource(R.drawable.ic_launcher))); // Move the camera instantly to hamburg with a zoom of 15. map.moveCamera(CameraUpdateFactory.newLatLngZoom(RAGUNAN, 15)); // Zoom in, animating the camera. map.animateCamera(CameraUpdateFactory.zoomTo(10), 2000, null); } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.main, menu); return true; } }
9. Saat ini untuk menjalankan Project yang memggunakan Android GoogleMap V2 tidak bisa langsung di run pada emulator android,
kita perlu install 2 apk yaitu venton.apk dam gms.apk melalui adb command, jadi kalau tidak mau repot run di device langsung, Mari kita run projectnya
Pertama akan muncul 2 marker, lalu tap lah masing-masing marker akan memunculkan info window.
Semoga Bermanfaat
Agus Haryanto
Pembicara Seminar IT
Trainer Workshop Android
sumber
http://vogella.com
lanjutan >> waktu di daftarin ke api console udah lengkap sama syarat2 yg mas jeaskan.. sha21: ********;nama project
udah lengkap mas… tpi tetap invalid
Discripsi error kaya gini gan..:
Description Resource Path Location Type
The container ‘Android Dependencies’ references non existing library ‘C:\Users\Sufrie\android-sdks\google-play-services_lib\bin\google-play-services_lib.jar’ WisataKuliner Build path Build Path Problem..
Kira – kira apa nya gan,padahal Listhing program sudah bner,,,
pak mau tanya, script sudah tidak ada error tapi pas dirun di emulator kok ngga jalan ya? dan pas saya install di hp juga petanya tidak muncul.. hanya blank abu-abu saja.. itu kenapa ya? mohon bantuannya 🙁 terima kasih
07-25 03:18:44.547: E/Google Maps Android API(6651): Failed to load map. Error contacting Google servers. This is probably an authentication issue (but could be due to network errors).
tolong informasinya yw bang.
tankz
pak agus kalau ditampilkan diserver yang terhubung dengan google map gitu apakah bisa,bagaimana caranya pak?
assalam mas agus dan agan2 sekalian
mohon pencerahannya:
sintaxnya eror!!!
semua importx g’ dikenali…
import com.google.android.gms.maps.CameraUpdateFactory;
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.MapFragment;
import com.google.android.gms.maps.model.BitmapDescriptorFactory;
import com.google.android.gms.maps.model.LatLng;
import com.google.android.gms.maps.model.Marker;
import com.google.android.gms.maps.model.MarkerOptions;
public class MainActivity extends Activity {
static final LatLng RAGUNAN = new LatLng(-6.3039, 106.8267);
static final LatLng TAMANMINI = new LatLng(-6.29436, 106.8859);
private GoogleMap map;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
map = ((MapFragment) getFragmentManager().findFragmentById(R.id.map))
.getMap();
Marker ragunan = map.addMarker(new MarkerOptions().position(RAGUNAN)
.title(“Ragunan”));
Marker tamanmini = map.addMarker(new MarkerOptions()
.position(TAMANMINI)
.title(“Taman Mini”)
.snippet(“Taman Mini itu Indah”)
.icon(BitmapDescriptorFactory
.fromResource(R.drawable.ic_launcher)));
// Move the camera instantly to hamburg with a zoom of 15.
map.moveCamera(CameraUpdateFactory.newLatLngZoom(RAGUNAN, 15));
// Zoom in, animating the camera.
map.animateCamera(CameraUpdateFactory.zoomTo(10), 2000, null);
Mas agus, mau nanya nih, kenapa ya map v2 di beberapa device jadi black screen ya? pertamanya oke map muncul, tapi kalau dibuka lagi setelah di tutup aplikasinya atau change orientationnya kok jadi blackscreen ya? cuma muncul zoom button aja dengan layar hitam.
@lolin, Harusnya tidak ada masalah. selama ini saya coba lancar jaya
assalamualaikum mas Agus,
di project saya setelah import google library, di properties project saya tidak ada Google API mas, itu masalahnya dimana ya?
mas agus, code dibawah ini kok error ya?
import com.google.android.gms.maps.CameraUpdateFactory;
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.MapFragment;
import com.google.android.gms.maps.model.BitmapDescriptorFactory;
import com.google.android.gms.maps.model.LatLng;
import com.google.android.gms.maps.model.Marker;
import com.google.android.gms.maps.model.MarkerOptions;
tulisan errornya : GoogleMap cannot be resolved to a type
kenapa ya mas errornya?
mohon pencerahannya mas. terima kasih
@Rizal, Coba cek dituorial ini dulu http://agusharyanto.net/wordpress/?p=893
sudah saya cek mas,tapi code yg itu salah mas,,
apa SDK dan ADT saya bermasalah ya mas??
mohon pencerahannya mas,terima kasih
Mas Agus, bgmna buat LBS di map V2 ??
mas orang mana ya sebelumnya, saya ada skripsi mengenai LBS, saya ud hampir frustasi akibat program lbs yg saya buat ga jalan, klo bsa COD mas ni pin saya mas 311FED2A dan 085774361992,
@chairil adnan, coba lihat di menu jasa konsultasi. disitu ada kok alamat saya beserta teleponnya.
mas, mau tnya uda ngikutin tutorialnya kok, aplikasinya muncul gambar abu” doank, terus ada grid”nya alias PETANYA NDK MUNCUL….
ada yang bisa tolongin? HELP PLIS
Mas, di eclipse ane udah ga ada error. trus ane coba run langsung di galaxy chat tapi kok program closed ya mas?
Mohon solusinya,
Alhamdulillah bisa running juga tutorialnya sangat bermanfaat untuk project pertama :D,
Tapi kadang-kadang di layar keluar kelap-kelipnya itu kenapa pak agus??
Mas Agus, saya sudah coba dan sudah cek secara coding sudah OK tapi program waktu saya jalankan ke HP kok pesannya “Unfotunately, PetaLokasi has stopped” apa yang masih masalah yah..?
@spurwa itu kan force close, coba cek google api key bener gak? inet koneksi jg cb lihat.sekalian deh class sm layoutnya sama in sm punya om agus.
Untuk teman-teman semua, kalau untuk map v2 ini saya menyarankan untuk runningnya langsung dihanphonenya. Karena memang tidak mudah agar emulator bisa menampilkan map
pak saya sudah bisa codingnya nggak eror, dan saya eksport ke .apk lalu saya instal ke hp saya tpi kok mau dibuka aplikasinya muncul tulisan tiba2 berhenti gitu ya pak??itu yang salah apanya, mohon bantuannya pak
maaf ni sebelum nya agus klo emnk udh ada yg nanya,
klo untuk target dan spesifikasi AVD untuk maps api v2 apa yh?
Soalnya ketika saya run maps v2 semua AVD yg saya buat di Silang merah serta tidak bisa di buka???
MOHON BANTUAN
Untuk Map V2, Sebaiknya testnya langsung di Device Android
maaf OOT pak, saya mau tanya maksudnya kalau kita mengambil data JSON menggunakan android ICS ke atas harus ditambahkan ‘Assynchtask’ itu apa ya?? bisa kasih tutorial tentang Assynchtask tersebut
maaf OOT pak, saya mau tanya maksudnya kalau kita mengambil data JSON menggunakan android ICS ke atas harus ditambahkan ‘Assynchtask’ itu apa ya?? bisa kasih tutorial tentang Assynchtask tersebut
saya baca tentang posting anda tentang ‘Tutorial Android PHP dan MySQL’ yang menampilkan harga makanan, saya coba di ICS hasilnya tidak bisa ditampilkan, mohon pencerahannya pak..
@nehru, coba cek di http://agusharyanto.net/wordpress/?p=739 untuk pelajari tentang assynctask
misi mas agus saya mau nanya..
saya dah ngikutin alur dari cara di atas tapi saya mentok di pas menginclude Google Play Services sebagai library projectnya. contoh di atas kan “C:\Program Files (x86)\Android\android-sdk\extras\google\google_play_services\libproject\google-play-services_lib”
nah dah saya cari-cari tapi ko’ gak ada ya “google-play-services_lib” itu..
mohon bantuannya mas agus, terimakasih..
@sulaeman, install adt-bundlenya (sdk) dimana ?. kalau contoh diatas itu di laptop saya, tentu bisa berbeda dengan di laptop atau komputer lain
setContentView(R.layout.activity_main);
map = ((MapFragment) getFragmentManager().findFragmentById(R.id.map)).getMap();
Marker tamanmini = map.addMarker(new MarkerOptions()
.position(TAMANMINI)
.title(“Taman Mini”)
.snippet(“Taman Mini itu Indah”)
.icon(BitmapDescriptorFactory
.fromResource(R.drawable.ic_launcher)));
getMenuInflater().inflate(R.menu.main, menu);
//errornya : ada 4 syntax error pak, semuanya di variable ‘R’–>R cannot be resolved to be a variable
Mohon pencerahannya pak agus, terimakasih 🙂
ohh iya mas.. saya yang lupa naro instal adt-bundlenya (sdk).
tpi dah ketemu heehee terimakasih bnyak mas agus 🙂
assalamualaikum
pa, knp ya waktu dicoba di device android saya sony xperia E, error “unfortunately (app name) has stopped”
karena penasaran saya coba juga di emulator dengan install gms terlebih dulu, sama hasilnya
mohon pencerahannya pa
Terimakasih
pak mau tanya, script sudah tidak ada error tapi pas dirun di emulator kok ngga jalan ya? dan pas saya install di hp juga petanya tidak muncul.. hanya blank abu-abu saja.. itu kenapa ya? mohon bantuannya 🙁 terima kasih
mas saya kok cek debug.keystore ga ada ya?
lokasinya sudah saya ikutin seperti diatas “c:\Users\\.android\debug.keystore” contoh “c:\Users\agus\.android\debug.keystore”
@wafa dan lainnya yang kesulitan menampilkan map, Coba perhatikan AndroidManifest.xmlnya
apakah sudah ditambahkan
dan
Contohnya ada diartikel ini, sudah saya tambahkan
mas agus, coding sudah tidak eror, tp waktu di coba d hp android saya muncul “unfortunately, LearnGooglemApsV2 has stopped”
mohon bimbingannya mas.
mas saya mau tanya nih, kenapa ya maps di aplikasi saya tidak mau keluar?
padahal dari kodingannya sudah benar semua. atau ada settingan khusus untuk eclips nya ya?
terima kasih
mas mau nanya ini, gimana ya cara untuk buat invisible marker, ada gk tutorialnya mas? mhon bntuannya
mas kok erornya kayak gini solusinya gimana ya..??
“(proses net.danarutoo.map2)has stopped unexpectedly.please try again”
[2014-05-29 14:58:25 – map2] ——————————
[2014-05-29 14:58:25 – map2] Android Launch!
[2014-05-29 14:58:25 – map2] adb is running normally.
[2014-05-29 14:58:25 – map2] Performing net.danarutoo.map2.MainActivity activity launch
[2014-05-29 14:58:25 – map2] Failed to find an AVD compatible with target ‘Google APIs’.
[2014-05-29 14:58:27 – map2] Still no compatible AVDs with target ‘Google APIs’: Aborting launch.
[2014-05-29 14:58:27 – map2] Performing net.danarutoo.map2.MainActivity activity launch
[2014-05-29 14:58:36 – map2] Launching a new emulator with Virtual Device ’emulator’
[2014-05-29 14:58:37 – map2] New emulator found: emulator-5554
[2014-05-29 14:58:37 – map2] Waiting for HOME (‘android.process.acore’) to be launched…
[2014-05-29 14:59:32 – map2] HOME is up on device ’emulator-5554′
[2014-05-29 14:59:32 – map2] Uploading map2.apk onto device ’emulator-5554′
[2014-05-29 14:59:44 – map2] Installing map2.apk…
[2014-05-29 15:00:47 – map2] Success!
[2014-05-29 15:00:48 – map2] Starting activity net.danarutoo.map2.MainActivity on device emulator-5554
pak tanya, klo keytool nya g bsa kbaca di cmd nya gmna?
terima kasih
thanks pak agus atas tutorialnya,
tapi kok cma bisa di hp pak , klo emulator ngga bisa , padahal sudah install vending dan gms.
mohon solusinya biar bisa di emulator?
terimah kasih 🙂
@andri, Nggak usah intall GMS. Run saja dengan emulator Google API harusnya peta sudah bisa tampil
Selamat Malam mas, saya sudah coba tutorialnya dan alhamdulillah jalan, dan yang mau saya tanyakan mas ada tutorial LBS berbasis Android yang memakai database memakai xampp dan memakai sistem CRUD, saya mohon arahannya trims
Thanks untuk tutorialnya pak agus,saya sudah coba tutorialnya,Alhamdulillah ga ada kendala sampai akhirnya saat semua coding telah saya tulis dan saya Run As project tsb saya mendapati Error,kira-kira begini deskripsinya..
kira-kira begini deskripsinya..
The container ‘android depedencies’ references non exiting library ‘C:\\Android-SDK-Windows\google-play-service_lib\bin\google-play-service_lib.jar’
& the project cannot be built until build path errors are resolve
itu kenapa yaa Mas?Mohon penjelasannya untuk saya yg baru pemula ini
Mas versi javanya harus yang versi 7 ya?
gak bisa yg versi 6 atau 8?
mas agus,,,project ini udah bisa saya jalankan,,,
kalau saya mau menambahkan posisi saya bagaimana yahh??? kayak mylocationoverlay
@adha, sudah ada kok tutorialnya diblog ini
mas agus, saya ada error di bagian ini :
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
errornya : menu cannot be resolved or is not a field
tolong pencerahannya mas
problem resolve mas, ternyata R.menu.main itu gk kebaca soalnya di folder res saya tidak ada folder menu dan di dalam folder menu tidak ada file main.xml mas. alhamdulillah main.xml saya manipulasikan isinya dan baru tidak ada error pada MainActivitnya.
mas agus mohon bantuannya dong , sy buat webview trus sy tambahin coding untuk ads nya tp pas di run malah “unfortunately app has stopped” itu knpa ya ? makasih banyak sebelumnya