Tutorial android kali ini akan membahas terntang menggambar marker, garis dan area pada Android Google Maps V2.
Kalau sudah bisa buat aplikasi yang ada Mapnya, orang awam akan bilang wah mantap ente jeran plikasinya. Biasanya yang sering kita tampilkan dalam Map itu adalah titik lokasi yang digambarkan dengan sebuah marker. Ternyata kalau kita mau baca dan googling di maps itu kita bisa gambar polyline ( garis ) dan polygon ( area ) loh. Khususnya buat Β yang mau bikin rute sendiri untuk directionnya misalkan mau gambar directionnnya menggunakan algoritma dijkstra.
Banyak email masuk atau chat yang menanyakan ada nggak tutorial membuat direction dengan algoritma dijkstra. Biasanya saya tanya dulu.
1. Sudah paham algoritma dijkstra ?. (bisa search google dengan keyword “apa itu algoritma dijkstra“)
2. Tahu syarat utama agar metode/algoritma dijkstra dapat dijalankan?
Kalau dua pertanyaan diatas tidak bisa jawab. Sepertinya mustahil bisa buat rute menggunakan algoritma dijkstra.
Seperti metode lainnya agar metode dijkstra ini bisa dioperasikan sayratnya adalah harus ada data yang diproses, artinya kita harus punya data titik yang harus dilewati dari satu tempat ketempat lain.
Contohnya rumah saya di bekasi selatan mau ke cililitan.
Rute yang mungkin adalah
Rumah — Taman Mini — Hex — Cilitian
Rumah — pondok gede — Hex — Cilitan
Rumah Β — Pasar Rebo Β — Hex — Cililitan
Untuk jalankan metode dijkstra berarti harus punya data diatas sehingga dapat diketahui jalur terpendek. Kalau tidak punya data rutenya bagaimana bisa tahu jalur yang terpendek.
Itu baru dari rumah kecililitan sekarang saya lagi di blokm mau pulang kerumah lalu pengen buat direction dengan metode dijkstra. Berarti saya harus punya data rute-rute yang dilalui untuk sampai dari blok m Β ke rumah. Kalau tidak punya data rutenya apa mungkin bisa buat directionnya ?.
Jika untuk pembuktian ilmiah bahwa metode Dijkstra ini memang bernar bisa menenmukan rute terpendek adalah bisa dengan menggunkan contoh kasus dari lokasi A ke lokasi B
Kembali ke topik tutorial ini yaitu membahas tentang pembuatan Marker, garis dan Area di Google Maps V2 sekarang mari kita mulai langkah-langkahnya
1. Buat Project dengan nama LearnGooglemApsV2
2. Edit AndroidManifest.xml lalu ketikkan kode berikut
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="net.agusharyanto.learngooglemapsv2" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="18" /> <permission android:name="net.agusharyanto.learngooglemapsv2.permission.MAPS_RECEIVE" android:protectionLevel="signature" /> <uses-permission android:name="net.agusharyanto.learngooglemapsv2.permission.MAPS_RECEIVE" /> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <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-feature android:glEsVersion="0x00020000" android:required="true" /> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name="net.agusharyanto.learngooglemapsv2.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="AIzaSyAdFgLM2nNDmwjyvjlPm0EVoaTW57I6gjs" /> <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" /> </application> </manifest>
3. Edit activity_main.xml lalu ketikkan 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.SupportMapFragment"/> </RelativeLayout>
4. Edit MainActivity.java lalu ketikan kode berikut
package net.agusharyanto.learngooglemapsv2; import android.graphics.Color; import android.os.Bundle; import android.support.v4.app.FragmentActivity; import android.view.Menu; import com.google.android.gms.maps.CameraUpdateFactory; import com.google.android.gms.maps.GoogleMap; import com.google.android.gms.maps.SupportMapFragment; 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; import com.google.android.gms.maps.model.Polygon; import com.google.android.gms.maps.model.PolygonOptions; import com.google.android.gms.maps.model.Polyline; import com.google.android.gms.maps.model.PolylineOptions; public class MainActivity extends FragmentActivity { private GoogleMap gMap; static final LatLng TAMANMINI = new LatLng(-6.304059, 106.895599); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initMap(); } public void initMap(){ SupportMapFragment mapFragment = (SupportMapFragment)getSupportFragmentManager().findFragmentById(R.id.map); gMap = mapFragment.getMap(); gMap.moveCamera(CameraUpdateFactory.newLatLngZoom(TAMANMINI,15)); addMarker(); addPolyGon(); addPolyLine(); } public void addMarker(){ Marker tamanmini = gMap.addMarker(new MarkerOptions() .position(TAMANMINI) .title("Taman Mini") .snippet("Taman Mini itu Indah") .icon(BitmapDescriptorFactory .fromResource(R.drawable.ic_launcher))); } public void addPolyLine(){ Polyline polyline = gMap.addPolyline(new PolylineOptions() .add(new LatLng(-6.305360,106.896007), new LatLng(-6.306277,106.896372), new LatLng(-6.306981,106.897187), new LatLng(-6.307215,106.898153), new LatLng(-6.307301,106.899054), new LatLng(-6.306831,106.900105) ).width(5).color(Color.GREEN) ); } public void addPolyGon(){ Polygon polygon = gMap.addPolygon(new PolygonOptions() .add(new LatLng(-6.305296,106.898432), new LatLng(-6.306831,106.898239), new LatLng(-6.306981,106.899762), new LatLng(-6.305509,106.900706)).strokeWidth(5) .strokeColor(Color.BLUE).fillColor(Color.RED)); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } }
5. Mari kita jalankan projectnya.
Terlihat Maps yang didlamnya ada Marker, Garis (Polyline) dan Area (Polygon).
Khusus untuk adik-adik mahasiswa yang lagi tugas akhir atau tesis. Terus Semangat dan buat orang tua kita bahagia
Supaya kita tambah sayang sama orang tua bisa klik link youtube dibawah
http://www.youtube.com/watch?v=0fAFDkraAAA
Untutk yang baru belajar Android GoogleMapsV2 bisa ke sini dulu http://agusharyanto.net/wordpress/?p=893
Semoga Bermanfaat
Salam Hangat
Agus Haryanto
Android Developer
Sumber
http://wptrafficanalyzer.in
http://developerandroid.com
eror pada (R.d.map)
pada sour code
(SupportMapFragment)getSupportFragmentManager().findFragmentById(R.id.map);
mapx eror, artinya apa mas, trims
@bayu, activity_main.xml nya setelah edit sudah di simpan ?
sudah bisa mas, trims mas π
mas agus, coding sudah tidak eror, tp saat d hp m emulator saya muncul
“unfortunately, LearnGooglemApsV2 has stopped”
mohon bimbingannya mas.
@anggi,ifa coba lihat dilogcatnya supaya bisa diketahui penyenbab errornya
kyk gni mas di logcatnya
windowManager Starting window AppWindowToken{b2205938 token=Token{b2172b18 ActivityRecord{b21729b8 u0 net.agusharyanto.learngooglemapsv2/.MainActivity t5}}} timed out
activitydestroy timeout for ActivityRecord{b21729b8 u0 net.agusharyanto.learngooglemapsv2/.MainActivity t5 f}
mas saya ada eror pada (R.menu.main, menu), eror pada R.menu
pada coding ini, mohon bimbingannya mas.
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
Malam mas. Mau nanya kalau nampilin long dan lat yg berasal dari database mysql bgmn ya mas? Terima kasih sebelum nya.
malem mas, knp bisa eror pada “getFragmentManager”
mohon bantuannya ?
pada sourcode ini
mMap = ((MapFragment) getFragmentManager().findFragmentById(R.id.map))
.getMap();
mas, tanya donk..
saya kan install gms, tapi waktu di install ada kesalahan “install_failed_shared_user_incompatible”
mohon bantuannya mas..
kok error semua ya mas π
mulai dari >> import com.google.android bla bla bla, dari atas sendiri sampai bawah sendiri π
private GoogleMap gMap; dan bawahnya juga error mas π
SupportMapFragment mapFragment = (SupportMapFragment)getSupportFragmentManager().findFragmentById(R.id.map); ini juga error mas π
aku kudu piye mas?
Bisa di buatkan tutorial search engine untuk mencari kata dalam kalimat sehingga ketika di enter didapat semua kata yang di cari dalam bentuk list view. Mohon pencerahannya. Terima kasih.
bagus nih buat belajar
Wah bagus juga tutorialnya π
owh iya mas, boleh minta template WP nya gak ya hehee…
Keren mas tutorialnya, nanti mau di Coba ah.
Buat yang masih error, baiknya di googling aja kesalahannya dimana. Copy pesan kesalahan yang ada di log cat-nya kemudian cari di Google. Biasanya nanti bule-bule suka udah ada yang bahas.
bagaimana kalau cara jika titik latitude dan longitudenya di ambil dari database???
keren mas tutorialnya. Mau tanya algoritma djistrak nya di coding yang mana ya?
terimakasih sebelumnya
mas algoritma dijstra alur kerjanya berdasarkan titik awal yang di tentuin aja atau bisa jga dengan titik awal sesuai posisi penggunanya.mohon pencerahan mastah .
@dias, bisa dari titik manapun asalkan ada jalurnya dan kita punya data titik-titik yang akan dilewati.
pa agus hariyanto,
saya ingin tau aplikasi apa yang bapak gunakan untuk membuat aplikasi android…??
mas agus flowchart nya gak ada ya ??
nahhh nemu dah caranya.. minta ilmu cara buat aplikasi androidnya ya pak agus hariyanto.
semoga bapak agus sehat dan sukses terus amin
ini bnr2 ilmu yg sangat bermanfaat yg di share pak hary