Last Updated on 12 years by Mas Herdi
Kemudian tombol satunya lagi adalah tombol View On Map, yang akan memunculkan lokasi kita pada Android Maps. Ketika tombol tersebut di-klik, informasi lokasi seperti latitude dan longitude, akan dimasukkan ke dalam sebuah Bundle, info itu akan di-pack dan diikutkan sebagai sebuah extra pada Intent, yang nantinya akan diteruskan ke Activity selanjutnya, yaitu Activity MyMap.
Activity MyMap pada dasarnya tidak jauh berbeda dengan yang pernah saya tuliskan di tutorial sebelumnya. Kita hanya perlu menambahkan beberapa baris kode yang berfungsi untuk meng-unpack koordinat yang tadi diikutsertakan pada Bundle dari aktivitas sebelumnya, dan mengaplikasikan koordinat tersebut pada peta, berikut ini kode lengkapnya :
MyMap.java
package id.attwhx.twmaps; import java.util.List; import android.graphics.drawable.Drawable; import android.os.Bundle; import android.util.Log; import com.google.android.maps.GeoPoint; import com.google.android.maps.MapActivity; import com.google.android.maps.MapController; import com.google.android.maps.MapView; import com.google.android.maps.Overlay; import com.google.android.maps.OverlayItem; public class MyMap extends MapActivity { private MapView map; private MapController controller; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.mapdisplay); initMapView(); initMyLocation(); } /** Find and initialize the map view. */ private void initMapView() { map = (MapView) findViewById(R.id.map); controller = map.getController(); map.setSatellite(true); map.setBuiltInZoomControls(true); } /** Start tracking the position on the map. */ private void initMyLocation() { int lat, lng; Bundle b = this.getIntent().getExtras(); lat = (int)(b.getDouble("latitude")*1E6); lng = (int)(b.getDouble("longitude")*1E6); Log.v("info", "The lat "+lat); Log.v("info", "The lng "+lng); GeoPoint point = new GeoPoint(lat,lng); List<Overlay> mapOverlays = map.getOverlays(); Drawable marker = this.getResources().getDrawable(R.drawable.marker); MapOverlay itemizedOverlay = new MapOverlay(marker, this); OverlayItem overlayitem = new OverlayItem(point, "Lokasi saat ini", "Koordinat ("+b.getDouble("latitude")+","+b.getDouble("longitude")); itemizedOverlay.addOverlay(overlayitem); controller.setZoom(16); controller.animateTo(point); mapOverlays.add(itemizedOverlay); } @Override protected boolean isRouteDisplayed() { // Required by MapActivity return false; } }
Untuk layout, buat sebuah file xml bernama mapdisplay.xml pada folder res/layout/ yang berisi sama persis seperti layout pada tutorial saya sebelumnya. Kelas terakhir yang dibutuhkan adalah kelas MapOverlay.java, isinya juga sama persis seperti tutorial sebelumnya.
Dan ini adalah tampilan screenshot aplikasi :
Coba buka Emulator Control, lanjut ke Location Control dan masukkan Latitude dan Longitude, kemudian klik send. Maka aplikasi akan merespon dengan memberikan pemberitahuan seperti berikut
Kemudian ini yang akan muncul apabila kalian klik Get Location
Klik View On Map untuk membuat visualisasi dari lokasi dimana kalian berada B-)
Klik pada marker
Conclusion
Oke, seperti kira-kira seperti itu. Jika masih ada yang bingung silahkan bertanya di bagian komentar.
Kalian juga bisa mendownload source code dari project ini pada TWOH-Maps repositori di github saya.
Kalian juga bisa download Aplikasi TWOH’s Maps di Google Play
Sekian, semoga membantu. 😀
kak, punyaku gak jalan.. 🙁
ada tulisan can’t open keycharmap
Iya, kan memang kamu harus punya Maps API Key, cara dapetinnya ada di postinganku sebelumnya
udah bisa kak 😀
tq y kak ^^
Sip, udah sampai mana? ^^ Masih ada yang kurang gak punya kalian?
stefani :
aq tinggal ngambil long n lat dari database terus tampilin di peta berdasarkan waktu yg diinginkan..
tp aq binggung gmn caranya bgitu masuk aplikasi langsung ambil long n lat usernya kak..
revi:
1. nampilin gambar dari database ke dalam soal
2. yang kmarin kita buat kak, yang mengenai mapel b.indo kmrn aku ganti menjadi TPA di datbase juga sudah diganti, tapi button submit di akhir tidak jalan kak..
maaf y kak, ngerepotin XD
hahahahaha
@Revi :
Kalo yang diganti masa ga bisa? Di-replace semua yang ada “Bahasa Indonesia”-nya sama TPA. Sekalian sama yang ada di database-nya.
Kalo masih ga bisa, tulisan errornya gimana?
Malam kak herdi,.
ini fungsi check in digunakan untuk apa ya kak??
Malam nia…
fungsi check in itu digunakan untuk menyimpan lokasi kita ke dalam database, untuk saat ini fungsi tersebut belum bisa dijalankan 🙂
iya kak herdi, klo digunakan langsung diandroidnya aplikasi diatas langsung gmn caranya kak?? saya sudah coba tapi kok ngak bisa ya,..
langkah
1. saya aktifkan terlebih dahulu GPS diandroid kemudian saya tggu sampai mendapatkan longitude dan latitude GPS,. Setelah itu saya klik button 1 get location tidak muncul long n lat,.
mohon pencerahannya kak herdi
newbie
Dijalankan langsung di handphone Android ya, atau lewat emulator?
Coba download source code nya dari sini https://github.com/twoh/TWOH-Maps
terus langsung diinstalin ke hape Android/emulator~
Iya, pastiin juga GPS-nya aktif dan lat n long nya udah dapet, caranya ceknya coba buka Google Maps atau Latitude, kalau lat n long nya sudah dapet, di peta pasti akan menunjukkan lokasi dimana kamu berada 🙂
iya kak herdi digunakan langsung di hape android,.. untuk proses button check in ya dong mas dilanjutkan 🙂
Hehe iya ini lagi dalam progress 🙂
Silahkan bagian pertamanya http://twoh.web.id/2012/09/implementasi-check-in-pada-android-location-based-service-i/
Assalamualaikum kak herdi,.
Mau tanya, bagaimana cara mendapatkan informasi koordinat dari pengambilan gambar atau photo di android?? misalnya kita photo sebuah gedung nanti dari hasil photo gedung tersebut kita dapat mengetahui informasi koordinat pengambilan gambar tersebut,.. klo emang pernah buat shared dong kak herdi,.
salam newbie
tutorial diatas sangat membantu kak makasih ya,.
Oke, ada kok caranya… nanti saya share.
Sama-sama. 🙂
selamat siang mas, nah untuk aplikasi yang ini, untuk membaca lokasi (long dan la) hape android kita sendri,,,trus klo kita mu kombinasiin supaya bisa baca long dan lat hape android lain dan kita tampilkan dalam satu map,, kira2 listing program nya gimana ams yah,,, makasi atas bantuannya
Kalau itu kamu harus bikin aplikasi dulu, supaya pengguna hp android lain bisa check-in, nah trus info check-innya itu dimasukkan ke server. Baru kamu bisa membacanya dari server itu dan ditampilkan di Map. Kalau secara langsungnya tidak bisa.
Sama-sama 🙂
jadi kita harus bikin sebuah database dulu yah mas,,,
Iya, salah satu caranya adalah dengan mengimplementasikan fitur check in
Tutoriasl lengkapnya ada di sini :
http://twoh.web.id/mudengdroid-belajar-android-bersama-twohs-engineering/tutorial-android-dengan-android-maps-google-maps/
penambahan untuk mapdisplay.xml pada folder res/layout/ itu scriptnya sama dengan contoh yang mana?
Oh salah link, seharusnya yang seperti main.xml di tutorial ini
LINK
untuk AndroidManifest.xml apa ada perubahan di scriptnya mas?soalnya saya coba dari tutorial awal sampe trakhir ini tidak bisa.
Untuk AndroidManifest.xml -nya, pastikan sudah memasukkan permission untuk mengakses internet dan uses-library Google Maps. File lengkapnya bisa di cek di GitHub https://github.com/twoh/TWOH-Maps
Kak Herdi Mau tanya… saya mau bikin aplikasi gps dan menggabungkan dengan petanya caranya gimana ya kak? jadi aplikasinya berjalan tanpa sambungan internet/offline.
Untuk peta offline kebetulan saya pernah membahas di sini
http://twoh.web.id/2012/10/menampilkan-peta-di-android-tanpa-menggunakan-google-maps/
Intinya kita harus membuat map server sendiri
maaf bro mau nanya nih….
apakah aplikasi location based services ini bisa dibuat pake app inventor? mohon penjelasannya…
trima kasih sblumnya
Bisa saja, appinventor hanya memudahkan kita dalam proses pembuatan aplikasi Android
Kak, punyaku ngga jalan, muncul error : java.lang.NullPointerException
Mohon penjelasannya kak.. Kemungkinan intentnya yang ngga jalan ya?
Sori baru balas, penyebab null pointer exception ada banyak, mungkin bisa di trace pakai LOGCAT baris ke berapa yang menyebabkan nullpointerexception 🙂
Siang ka herdi saya mau tanya untuk membuat LBS offline dapetin petanya bgmna ya? klo untuk bentuk jpeg kan cuma d simpan d drawablenya tapi g bisa d ubah2 kan koordinatnya?nah untuk mendapatkan peta yg bisa d ubah koordinatnya bgmna?dan penyimpanannya bagaimana apa bikin class baru untuk itu?
satu lagi cara mendapatkan jarak dri lokasi sekarang dengan lokasi yg d maksud dalam ukuran Km gmn y?
Need big help…trimakasih sebelumnya
Nah, kalau saran saya sebaiknya kamu bikin map server sendiri, bisa pakai MapServer for Windows atau yang lain. Kalau pakai jpeg, penentuan koordinatnya yang susah, sebenernya bisa tapi itu mengacu pada posisi pixel di layar.
Kalau pakai MapServer lebih mudah nanti tinggal aplikasinya dihubungkan pada MapServer tersebut
Assalamu Alaikum Wr. Wb., salam kenal mas Herdi
sy sudah download contoh program diatas dan ada error pada bagian ini :
TWMaps.java
/** Start tracking the position on the map. */
private void initMyLocation() {
int lat, lng;
Bundle b = ((Object) this.getIntent()).getExtras(); <– ini yg error (multiple markers at this line)
if(b.containsKey("longitude"))
{
dan pada bagian ini :
private Object getIntent() { <– ini yg error
// TODO Auto-generated method stub
return null;
}
thanks sebelum dan sesudahnya (rencana mau buat skripsi tentang lokasi wisata)
Wa alaikum salam, kemungkinan kamu bikin function getIntent() yang seharusnya nggak perlu. Ato bisa lihat tampilan errornya di Logcat gimana?
thanks mas Herdy sudah hilang errorx 🙂
Sama-sama. Memang kode saya itu agak ajaib, bisa mbenerin error sendiri haha 😀
Kalo nggak keberatan bisa minta follow twitter / like facebook page web ini dong 🙂
hehe….. aneh bin ajaib mas Herdy
btw bisa minta link ebook androidx mas untuk persiapan skripsi android, thanks
Wah, kalo itu googling aja mas… banyak 😀
mas, ada tutorial untuk membuat peta offline untuk android gak,?
Kalau offline kami tidak menyediakan mas 🙂
Maaf Bro, coding nya sukses berjalan di emulator tetapi pas di copy di HP android kok install- nya gagal ya ?!?!?!?! mungkin bisa dibantu bro…
Coba programnya langsung di-compile dari Eclipse ke handphone agan
Dear Mas Herdy,
kalau boleh tahu caranya gimana ya mas ? stetahu saya HP di konek ke laptop pake kabel USB setelah ke detect di DDMS, jalankan aplikasi di eclipse klik kanan run as -> android application. nah biasahnya kan ada pilihannya mas mau di run di emulator atau di run di device android kita yang sdh ke detect di laptop. tetapi di punya saya device android nya nggak kebaca di DDMS-nya.
Hi Pandu,
Yups seperti itu, pastikan juga device kedetek di DDMS dan LogCat menunjukkan aktivitas handphone. Kalo belum kedetek, mungkin km lupa set enable debugging di settingan hp android-mu atau mungkin hp-mu butuh driver khusus.
Mas herdi, saya udh ikutin semua cara diatas, dirun jalan tapi pas klik view on map langsung force close, itu knp yah ? mohon pencerahannya 🙂
wah, kalau force close banyak penyebabnya mas 🙂 Coba baca cara mengatasi force close di sini
mas saya jugaaaa ngalamin hal yang sama force close…tapi pas ak buka log cat, log catnya ngga mau diperbesar kotaknya.terus ngga keliatan bgt errornya dimana, tpi emg ada tulisan merahnya tpi ga bisa dilihat n di click…saya udah puyeng bgt ini mas…gmna ya mas? mhon pencerahannya 🙂
Hey windut…
Hmm, harusnya bisa kok di resize. Coba km klik batas2 kotak logcat-nya. Trus di geser-geser biar bisa resize. 🙂 Tulisan merahnya memang gak semua bisa diklik. 🙂 Kalau nggak dilacak dari situ susah nentuin apa yang bikin error 🙂
Kok bagian ini ga bisa ya gan? “package id.attwhx.twmapscom;”, sama yg ini juga “setContentView(R.layout.main);”, kira2 apanya ada yg kurang apa gimana?
mas herdi saya mau tanya..
kan saya mau buat program berbasis web,
saya mau menampilkan peta di web tersebut.
dan peta yang sudah di web, saya ingin menambahkan fitur pelacak kendaraan,
jadi di peta tersebut dapat mengetahui posisi kendaraan tersebut.
apa fitur itu bisa suport?
mohon penjelasannya mas herdi..makasih
Hmm bisa asalkan setiap kendaraan ada aplikasi tracker nya sendiri, kayak Waze
Mas Untuk memanipulasi koordinat ke sqlite dengan maps api v2 apakah bisa juga dengan cara diatas memakai emulator control ??
Mas Untuk memanipulasi koordinat ke sqlite dengan maps api v2 apakah bisa juga dengan cara diatas memakai emulator control ????
Bisa koh 🙂
sore kak 🙂
kak, punya saya kok gak bisa ya diedit Emulator Controlnya? scriptnya saya udah sukses dan dijalankan di emulator gak bisa 🙁
trus ane coba install di bluestack, tombol pilihannya cuma ada dua…. ketika di klik tombol “view on map” malah keluar gitu kak..
mohon pencerahannya kak 🙂 ini buat tugas akhir psg ane soalnya kak 🙂
trims, salam sukses kakak 🙂
misi kakak, mau nanya, klo kita mau bkin konsep nya offline tapi ttp nampilin bentuk peta nya bisa gak yaa? klo bisa bagaimana caranya? mohon bantuannya urgent sekali
iya adik, bisa saja ada banyak solusi untuk offline Maps. Salah satunya bisa pakai http://www.klokantech.com/. Namun untuk offline bisa pelajari data-data geo nya dulu seperti imagery raster dan vector
ass…
maf sebelumnya mas…
sya mau tanya gmn caranya buat peta suatu lokasi tertentu, kemudian menditeksi seseorang menggunakan no hp nya.
tolong bantuannya mas soalnya ini untuk TA sya.
tetapi penguna no hp tidak harus sellu cek in seperti diatas.
jd auto update.
trim….
w ass…
Untuk auto update location secara periodic, gambaran besarnya bisa dilihat di postingan ini http://www.twoh.co/2013/09/android-auto-update-lokasi-ke-server-setiap-jangka-waktu-tertentu/.
Kamu butuh server untuk menampung lokasi yang dikirim oleh hp setiap ada auto update.
Semoga bisa mengikuti.
mas klo untuk diteksinya pke no hp bukan dari gps user apkah bsa??
tidak bisa bro
maaf, ada gak tutorial membuat aplikasi maps location rumah sakit untuk android. yg tutorial dari awal desaignya. maklum masih mau nyoba buat tugas ni bang . . . trimakasih bang.
kalo dari awal coba nampilin maps dulu agan masbro 🙂
gan kalo mau dicoba di android studio? ada ndak yang perlu di ubah??
mohon pencerahanya
Tidak ada gan, paling disesuaiin pluginnya aja
mas, saya kn pengennya bisa mengetahui perjalanan dari user. semacam rute perjalanan yg telah dilalui user. itu bagaimana ya caranya? mohon bantuannya
itu kita harus bikin sistem trackingnya dulu gan
bisa kasih tau caranya nggak? makasih
kakak mau tanya kalo untuk ar metode markless , gps based tracking dan location based service itu sama atau berbeda? perbedaanya dimana? apa bisa digunakan untuk membuat aplikasi berbasis android untuk pencarian lokasi dengan metode diatas? terimakasih
masih awam banget kak butuh referensi , cari-cari digoogle untuk gps based trackingnya masih jarang banget
AR itu maksudnya Augmented Reality?
GPS tracking sebenernya salah satu cara untuk mendapatkan lokasi pengguna pada sistem Location Based Service
maaf late respon kak , iyaa augmented reality
jadi GPS base Tracking itu cuma menampilkan lokasi pengguna si GIS nya itu sendiri ya kak? lalu bagaimana kalau dijadikan aplikasi pencarian lokasi lain dengan metode GPS base Tracking?
klo source code menentukan posisi user di gps suatu aplikasi kaya gimana kakak.
gan, mau tanya import com.google.android itu ngk bisa (error). kira kira penyelesaiannya seperti apa ya?
terima kasih
postingan ini sudah outdated, langsung saja ke sini untuk coba tutorialnya 🙂 https://github.com/twoh/twoh-mapsv2