Membuat Driving Direction dalam Android

Contoh Kasus:

Saya ingin membuat driving direction dari rumah saya ke kampus IPB seperti terlihat pada gambar dibawah ini:

Pertanyaan:

Bagaimana cara membuatnya … ?

Jawaban:

Buatlah satu projek bernama Arah dengan nama classnya adalah Arah.

Pewarisan/Extend

File classmu harus meng-extend class MapActivity seperti terlihat pada kode dibawah ini:

public class Arah extends MapActivity

File XML

Masukkan kode berikut ini ke dalam file XMLmu:

<com.google.android.maps.MapView 

android:id=”@+id/mapView”

android:layout_width=”fill_parent”

android:layout_height=”fill_parent”

android:clickable=”true”

android:apiKey=”API_Keymu”

/>

Keterangan:

  • Pembuatan API key untuk emulatormu maka kamu bisa lihat disini.
  • Pembuatan API key untuk HP-mu maka kamu bisa lihat disini.

File AndroidManifest.xml

Masukkan kode berikut ini ke dalam file AndroidManifest.xml-mu:

  • <uses-permission android:name=”android.permission.INTERNET”/>
  • <uses-library android:name=”com.google.android.maps”/>

File Class-Class lainnya yang diperlukan

File Class-Class yang diperlukan adalah:

Metode yang dimasukkan ke dalam class Arah

Masukkan metode ini ke dalam class Arah:

private Route directions(final GeoPoint start, final GeoPoint dest) { 

Parser parser;

String US_API = “http://maps.googleapis.com/maps/api/directions/json?”;

final StringBuffer sBuf = new StringBuffer(US_API);

sBuf.append(“origin=”);

sBuf.append(start.getLatitudeE6()/1E6);

sBuf.append(‘,’);

sBuf.append(start.getLongitudeE6()/1E6);

sBuf.append(“&destination=”);

sBuf.append(dest.getLatitudeE6()/1E6);

sBuf.append(‘,’);

sBuf.append(dest.getLongitudeE6()/1E6);

sBuf.append(“&sensor=true&mode=driving”);

parser = new GoogleParser(sBuf.toString());

Route r =  parser.parse();

return r;

}

Kode yang dimasukkan ke dalam metode onCreate

Masukkan kode berikut ini ke dalam metode onCreate():

MapView mapView = (MapView) findViewById(R.id.mapView); 

GeoPoint rumahFahmi=(new GeoPoint((int)(-6.5820915*1E6),(int)(106.7713216*1E6)));

GeoPoint kampusIPB=(new GeoPoint((int)(-6.5740843*1E6),(int)(106.7483997*1E6)));

Route route = directions(rumahFahmi, kampusIPB);

RouteOverlay routeOverlay = new RouteOverlay(route, Color.BLUE);

mapView.getOverlays().add(routeOverlay);

mc = mapView.getController();

mc.animateTo(kampusIPB);

mc.setZoom(15);

Keterangan:

  • GeoPoint adalah sebuah class yang mewakili sepasang lattitude dan longitude dalam satuan microdegree (degree * 1E6)
  • directions(rumahFahmi, kampusIPB), Kode ini digunakan untuk menentukan jalur dari titik awal ke titik akhir menggunakan jalur kendaraan.
  • RouteOverlay routeOverlay = new RouteOverlay(route, Color.BLUE), Kode ini digunakan untuk memberi warna biru pada direction.
  • mapView.getOverlays().add(routeOverlay), Kode ini digunakan untuk menggambar direction dalam Google Map.
  • mc.animateTo(kampusIPB), Kode ini digunakan agar peta menampilkan lokasi dari lokasi kampusIPB.
  • mc.setZoom(15), Kode ini digunakan untuk membuat peta diperbesar 15x, kalau tidak diperbesar maka hanya akan terlihat negara-negara seperti globe.

Hasil:

Jalankan aplikasimu dan lihat hasilnya apakah sudah sesuai.

You may also like...

Leave a Reply

Your email address will not be published. Required fields are marked *