Minggu, 12 Mei 2013

Membuat Aplikasi Android Rute GoogleMap V2 Direction Route ke MyLocation Lokasi GPS

Dulu kita pernah membuat Aplikasi Rute Direction di Google Map Android tetapi masih Versi 1. Sekarang kita coba mempelajari Cara Membuat Aplikasi GoogleMap V2 dengan Fasilitas Rute Direction dari suatu titik, dalam hal ini adalah Marker yang sudah kita buat, menuju lokasi GPS tempat kita berada yang ditunjukkan oleh fasilitas MyLocation pada GoogleMap V2.

Sebagai pengantar bagi yang belum pernah membuat Aplikasi Peta GoogleMap Versi 2 sebaiknya Membaca dahulu Artikel Ini. Berdasarkan project dari Artikel tersebut, sekarang kita tambahkan Fasilitas Rute. Untuk mudahnya dalam pembuatan, sebenarnya fasilitas rute ini ditampilkan dengan cara Aplikasi buatan kita memanggil Aplikasi lain yang memiliki fasilitas Route Direction bisa Maps milik Google Android atau Aplikasi Web Maps.Google.com, Membuat Garis Rute Direction Sendiri di Atas Peta GoogleMap kita sebenarnya bisa, tetapi terlalu sulit, dan lama, harus memparsing informasi Direction dari Google Map, mungkin lain kali ^_^.

Langsung kita mulai dengan membuat Project baru, jangan lupa tipenya harus tipe platform Google API. Kemudian tambahkan kode program berikut ini pada MainActivity.java :



package com.amijaya.googlemapv2;

import com.google.android.gms.maps.CameraUpdateFactory;
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.GoogleMap.OnInfoWindowClickListener;
import com.google.android.gms.maps.GoogleMap.OnMarkerClickListener;
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 android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentManager;
import android.view.Menu;
import android.widget.Toast;

//http://cariprogram.blogspot.com
//nuramijaya@gmail.com

public class MainActivity extends FragmentActivity {
 final int RQS_GooglePlayServices = 1;
 private GoogleMap myMap;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        FragmentManager myFragmentManager = getSupportFragmentManager();
        SupportMapFragment mySupportMapFragment = (SupportMapFragment)myFragmentManager.findFragmentById(R.id.map);
        myMap = mySupportMapFragment.getMap();
        
        LatLng jogja = new LatLng(-7.782939, 110.367050);
        MarkerOptions markerJogja = new MarkerOptions();
        markerJogja.position(jogja);
        markerJogja.title("Tugu Yogyakarta");
        markerJogja.snippet("Tugu Pusat Kota Yogyakarta");
        markerJogja.icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_GREEN));
        myMap.addMarker(markerJogja);
        
        LatLng amplaz = new LatLng(-7.783130530640776, 110.40135302698059);
        MarkerOptions markerAmplaz = new MarkerOptions();
        markerAmplaz.position(amplaz);
        markerAmplaz.title("Ambarrukmo Plaza");
        markerAmplaz.snippet("Ambarrukmo Plaza Yogyakarta");
        markerAmplaz.icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_RED));
        myMap.addMarker(markerAmplaz);
        
        myMap.setMapType(GoogleMap.MAP_TYPE_NORMAL);
        
        myMap.getUiSettings().setCompassEnabled(true);
        
        myMap.getUiSettings().setZoomControlsEnabled(true);
        
        myMap.getUiSettings().setMyLocationButtonEnabled(true);
        
        myMap.setMyLocationEnabled(true);
        
        myMap.animateCamera(CameraUpdateFactory.newLatLngZoom(jogja, 15));
        
        myMap.setOnMarkerClickListener(new OnMarkerClickListener() {
   
   @Override
   public boolean onMarkerClick(Marker arg0) {
    // TODO Auto-generated method stub
    
    try {
     StringBuilder urlString = new StringBuilder();         
     String daddr = (String.valueOf(arg0.getPosition().latitude)+","+String.valueOf(arg0.getPosition().longitude)); 
     urlString.append("http://maps.google.com/maps?f=d&hl=en"); 
     urlString.append("&saddr="+String.valueOf(myMap.getMyLocation().getLatitude())+","+String.valueOf(myMap.getMyLocation().getLongitude())); 
     urlString.append("&daddr="+daddr);
     Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse(urlString.toString()));
     startActivity(i);
    } catch (Exception ee) {
     Toast.makeText(getApplicationContext(), "Lokasi Saat Ini Belum Didapatkan, Coba Nyalakan GPS, Keluar Ruangan dan Tunggu Beberapa Saat", Toast.LENGTH_LONG).show();
    }
    return false;
   }
  });
        
        
        myMap.setOnInfoWindowClickListener(new OnInfoWindowClickListener() {
   
   @Override
   public void onInfoWindowClick(Marker arg0) {
    // TODO Auto-generated method stub
    //JIKA KLIKNYA INGIN DI INFO WINDOW
   }
  });
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.activity_main, menu);
        return true;
    }
    
}

Setelah itu buat layout di activity_main.xml sebagai 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>

Untuk AndroidManifest.xml kita setting seperti ini, ingat untuk mengganti Google Map Key dengan milik anda sendiri agar sesuai dengan SDK di komputer anda. Jika belum mengerti silakan membaca artikel sebelumnya:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.amijaya.googlemapv2"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="8"/>
    
    <permission
        android:name="com.amijaya.googlemapv2.permission.MAPS_RECEIVE"
        android:protectionLevel="signature" />
        
    <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-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" >
        <meta-data android:name="com.google.android.maps.v2.API_KEY" android:value="AIz-Google-APi-Key-Anda" />
        <activity
            android:name="com.amijaya.googlemapv2.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>
    </application>

</manifest>

Jangan lupa hidupkan GPS dan Internet, tunggu beberapa saat sampai mendapatkan sinyal GPS, jika belum mendapatkan tetapi sudah diklik markernya hasilnya seperti ini :


Sedangkan setelah mendapatkan Sinyal GPS dan diklik salah satu Marker hasilnya keluar pilihan Route Direction mau ditampilkan di Aplikasi Maps atau Web Browser :


Jika kita memilih Aplikasi Maps :


Jika Memilih Browser Web akan membuka Web Maps.Google.com :

 

Jangan lupa lokasi Marker di aplikasi ini ada di Yogyakarta jadi hati-hati jika misalnya anda ada di Jakarta, bisa-bisa yang muncul adalah Direction Route yang sangat panjang yang menampilkan jalan dari Jakarta ke Yogyakarta :) Edit dahulu Latitude dan Longitude dari Marker-markernya dengan lokasi yang dekat dengan posisi anda, gunakan Maps.Google.com untuk mencari latitude longitude atau dengan web seperti mapjogja.com yang dapat menampilkan Latitude-Longitude jika marker digeser.

Project selengkapnya download disini. Jika kesulitan seperti ini caranya.

Semoga menyenangkan :)

51 komentar:

  1. mantap codingx mas tp kalau bisa di highligth codingx spy g keluar jalur......

    sy lihat ada pesan "lokasi saat ini belum di dapatkan" itu posisi user ya mas?

    BalasHapus
  2. Haha betul mas barusan saya dapat cara Highlight Kode Program dengan PrettyPrint, akhirnya saya bisa :) Oh ya, itu posisi user ketika belum dapat GPS. Jadi cara makainya harus connect ke Internet dan Hidupkan GPS, kemudian tunggu beberapa saat hingga GPS tidak berkedip-kedip lagi dan lokasi sudah tampil di Map baru Markernya siap diklik sehingga menampilkan Rute.

    BalasHapus
  3. Mas ada gk tutorial untuk pencarian lokasi terdekat dari posisi kita untuk goggle map v2 ini ?

    BalasHapus
    Balasan
    1. Mungkin artikel ini bisa membantu, tetapi masih rumus mentah, harus dimasukkan ke Project Eclipse sesuai cara kerja programnya http://cariprogram.blogspot.com/2013/01/mencari-jarak-dua-titik-gps-latitude-longitude-android-mysql-xml-json.html
      Atau dengan fungsi berikut ini :
      Location locationA = new Location("point A");
      Location locationB = new Location("point B");
      locationA.setLatitude(-7.782939);
      locationA.setLongitude(110.367050);
      locationB.setLatitude(-7.78313053);
      locationB.setLongitude(110.401353);
      double distance = locationA.distanceTo(locationB);
      Toast.makeText(this, String.valueOf(distance). Toast.LENGTH_LONG).show();

      Untuk menghitung mana titik yang paling dekat, gunakan saja perulangan yang mengecek semua titik.
      Semoga berhasil..

      Hapus
    2. kalau saya ingin menambahkan perhitungan ini ke tutorial direction ini .. codingnya di bagian mana ya mas ? Tq

      Hapus
    3. Coba masukkan saja Latitude dan Logitude dari MyLocation dan dari arg0 yg merupakan lokasi marker yang diklik, kira-kira seperti ini :
      StringBuilder urlString = new StringBuilder();
      String daddr = (String.valueOf(arg0.getPosition().latitude)+","+String.valueOf(arg0.getPosition().longitude));
      urlString.append("http://maps.google.com/maps?f=d&hl=en");
      urlString.append("&saddr="+String.valueOf(myMap.getMyLocation().getLatitude())+","+String.valueOf(myMap.getMyLocation().getLongitude()));
      urlString.append("&daddr="+daddr);
      Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse(urlString.toString()));

      Location locationA = new Location("point A");
      Location locationB = new Location("point B");
      locationA.setLatitude(myMap.getMyLocation().getLatitude());
      locationA.setLongitude(myMap.getMyLocation().getLongitude());
      locationB.setLatitude(arg0.getPosition().latitude);
      locationB.setLongitude(arg0.getPosition().longitude);
      double distance = locationA.distanceTo(locationB);
      Toast.makeText(this, String.valueOf(distance). Toast.LENGTH_LONG).show();

      startActivity(i);

      Coba dipelajari lebih dalam, semoga menjadi paham dan bisa meneruskan sendiri. Semoga berhasil..

      Hapus
    4. Mas Toast.makeText(this, String.valueOf(distance).Toast.LENGTH_LONG).show(); eror mas .. Toast cannot be resolved or is not a field .. Mungkin ada yg salah ya mas ? terima kasih mas atas bantuan nya .. :)

      Hapus
    5. Wah saya salah kayaknya, maaf ini langsung ketik tanpa dicoba di Eclipse, maklum saya sibuk. Saya coba bantu sebisanya. Sepertinya yang betul seperti ini :
      ...
      Toast.makeText(this, String.valueOf(distance), Toast.LENGTH_LONG).show();
      ...
      Atau hapus saja baris tersebut, karena hanya berfungsi memberi semacam MessageBox

      Hapus
    6. mas mau brtanya, kan sudah di masukkan smua lat dan long untuk markernya. nah untuk perulangan membandingkan jarak terdekat, bleh mnta contoh kodingnya ga mas? kbtulan saya dpt tugas untuk mencari jarak terdekat. maaf ane pemula gan. keren bgt artiklnya mas.

      Hapus
    7. Coba dulu deh baca artikel ini mas, http://cariprogram.blogspot.com/2013/01/mencari-jarak-dua-titik-gps-latitude-longitude-android-mysql-xml-json.html
      Semoga berhasil.

      Hapus
  4. Mas gmn kl saya ingin menambahkan semacam alert dialog dolo saat ingin melakukan direction nya ?

    BalasHapus
    Balasan
    1. Mungkin seperti ini, tambahkan coding berikut di dalam onMarkerClick :

      AlertDialog.Builder dialog = new AlertDialog.Builder(mContext);
      dialog.setTitle(item.getTitle());
      dialog.setMessage(item.getSnippet());
      dialog.setPositiveButton("Detail", new OnClickListener() {
      public void onClick(DialogInterface arg0, int arg1) {

      }
      });
      dialog.setNeutralButton("Direction", new OnClickListener() {
      public void onClick(DialogInterface arg0, int arg1) {
      //pindahkan coding direction disini
      }
      });
      dialog.setNegativeButton("Close", new OnClickListener() {
      public void onClick(DialogInterface arg0, int arg1) {
      arg0.dismiss();
      }
      });
      dialog.show();

      Semoga bisa membantu

      Hapus
    2. Mas ... kalau saya ingin menambahkan fitur search .. gimana ya caranya ?

      Hapus
    3. Supaya bisa membuat fitur search apa yang akan disearch, tentu saja titik2 tempatnya. Oleh karena itu titik titik tempatnya harus disimpan di database. Bisa di database lokal android (SQlite) atau di server (PHP MySQL) maka saya sarankan mempelajari artikel ini dulu :
      http://cariprogram.blogspot.com/2013/01/android-json-data-web-database-php-mysql.html
      dan/atau artikel ini :
      http://cariprogram.blogspot.com/2013/01/android-menampilkan-database-sqlite-view-data.html
      Semoga berhasil..

      Hapus
  5. thanks mas tutorialnya,,,

    daripada pusing2 mikirin direction manual (g bisa2 T.T), mending d oper ke map aje dah kaya tutorial ini,,,,

    BalasHapus
    Balasan
    1. Setuju mas :) Sama2.
      Klo mikir direction bisa rumit seperti artikel ini http://cariprogram.blogspot.com/2013/01/menggambar-rute-peta-android-google-map-direction.html. Sayangnya itu di GoogleMap v1. Klo ada waktu silakan dicoba. Intinya minta ke google direction dari satu titik GPS ke titik lain dalam bentuk XML atau JSON. Kemudian parsing, gambar sendiri garisnya di Peta.
      Berat, males bgt bikin artikelnya buat GoogleMap v2
      ... ^_^

      Hapus
  6. maaf mas mau tanya.....setelah saya import source dari mas trus saya masukkan key api nya dan library google play service saya kok gak bisa jalan ya mas....forced close

    kira2 apa yang salah ya ??

    BalasHapus
    Balasan
    1. Pertama, kalau di emulator jelas tidak jalan mas, jadi coba di hp/tablet langsung. Kemudian HP/Tabletnya harus sudah update Google Play, alias agak sering konek ke internet.
      Trus klo mas langsung import project saya, terpaksa minta Android Key nya harus tetap memakai SHA1 hasil generate debug.keystore komputer mas, ditambah namespace dari package project dari artikel ini yaitu com.amijaya.googlemapv2. Misalnya :
      XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX;com.amijaya.googlemapv2.
      Baru android key nya dimasukkan ke Project
      Semoga berhasil.

      Hapus
  7. mas, klo q mau nambah marker lgi bisa g??
    trus nambahnya dimana??
    makasih.,
    tutor diatas dah work in my device.,

    BalasHapus
    Balasan
    1. Langkah pertama tentu saja mas harus cari koordinat GPS dari lokasi yang diinginkan, bisa dari Web http://maps.google.com atau dari web lain seperti http://mapjogja.com.
      Kemudian di bawah coding :
      ...
      myMap.addMarker(markerAmplaz);
      ...
      silahkan ditambahkan coding berikut :
      ...
      myMap.addMarker(markerAmplaz);

      LatLng kraton = new LatLng(-7.8056655230468035,110.36410250818176);
      MarkerOptions markerKraton = new MarkerOptions();
      markerKraton.position(kraton);
      markerKraton.title("Kraton Ngayogyakarta Hadiningrat");
      markerKraton.snippet("Alun-alun Kraton Ngayogyakarta Hadiningrat Yogyakarta");
      markerKraton.icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_GREEN));
      myMap.addMarker(markerKraton);
      ...
      dst.
      Ulangi untuk marker selanjutnya dengan koordinat GPS yang berbeda.
      Semoga berhasil.

      Hapus
  8. mas di import filenya error R.java tidak ada kenapa mas?

    BalasHapus
    Balasan
    1. Biasanya kalau file R error, kemudian di Run atau Build tidak bisa, kemungkinan pertama yang error Projectnya. Solusinya bisa pada nama Project klik kanan Refresh, Atau klik kanan Android Tools - Fix Project Properties, Atau pada Menu Project - Clean. Atau yang paling ribet bisa membuat project baru file-file dari Project yang error di-copy paste ke Project baru.

      Atau kemungkinan kedua (mohon maaf) Eclipse anda sudah cukup lama mas, harus diupdate, download saja di : http://developer.android.com/sdk/index.html.

      Semoga berhasil.

      Hapus
  9. mas klo lbsnya dgn database bagaimana ya?

    BalasHapus
    Balasan
    1. Sebelumnya harus dipastikan dahulu Mbak, databasenya memakai apa? SQLite (di Android) atau PHP-MySQL (di Web).
      Jika menggunakan SQLite sebaiknya Mbak mempelajari dahulu artikel ini : http://cariprogram.blogspot.com/2013/01/android-menampilkan-database-sqlite-view-data.html

      Sedangkan jika di Server PHP MySQL, Mbak bisa mempelajari dahulu artikel : http://cariprogram.blogspot.com/2013/01/android-json-data-web-database-php-mysql.html

      Jika menggunakan Database SQLite, silakan tambahkan di bawah coding ini :
      ...
      myMap.addMarker(markerAmplaz);
      dbHelper = new SQLHelper(this);

      SQLiteDatabase db = dbHelper.getReadableDatabase();

      cursor = db.rawQuery("SELECT * FROM kota",null);

      cursor.moveToFirst();
      for (int cc=0; cc < cursor.getCount(); cc++)
      {
      cursor.moveToPosition(cc);
      LatLng titik = new LatLng(Double.parseDouble(cursor.getString(2).toString()), cursor.getString(3).toString()));

      MarkerOptions markerTitik = new MarkerOptions();
      markerTitik.position(titik);
      markerTitik.title(cursor.getString(1).toString());
      markerTitik.snippet("Kota : " + cursor.getString(1).toString());
      markerTitik.icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_BLUE));

      mMap.addMarker(markerTitik);
      }

      Jika menggunakan server PHP MySQL, silakan tambahkan di bawah coding ini :
      ...
      myMap.addMarker(markerAmplaz);

      try {
      jsonResult = getRequest(url);

      jObject = new JSONObject(jsonResult);
      JSONArray menuitemArray = jObject.getJSONArray("kota");

      for (int i = 0; i < menuitemArray.length(); i++)
      {
      LatLng titik = new LatLng(Double.parseDouble(menuitemArray.getJSONObject(i).getString("latitude").toString()), menuitemArray.getJSONObject(i).getString("longitude").toString()));

      MarkerOptions markerTitik = new MarkerOptions();
      markerTitik.position(titik);
      markerTitik.title(menuitemArray.getJSONObject(i).getString("nama").toString());
      markerTitik.snippet("Kota : " + menuitemArray.getJSONObject(i).getString("nama").toString());
      markerTitik.icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_BLUE));

      mMap.addMarker(markerTitik);

      }
      } catch (JSONException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
      }

      Semoga bisa memberi inspirasi..

      Hapus
    2. wah mksh ya mas ini sya lagi mempelajarinya :)

      Hapus
    3. mas saya mau tanya lagi,, saya sudah download codenya lalu saya ubah titik longitudinal dan latitudenya pada mainactivity tapi kenapa markernya tetap berada di yogya ya??
      terus perihal lbs dengan data base ada beberapa code yang harus di tambahkan itu perlu ditambahkan di file apa ya?? beserta dengan databasenya atau mapnya ? soalnya saya buatkan menu

      Hapus
    4. mas saya sudah coba memasukkan kodingan diatas dn mengcopy jg dri tutor yg mas kasih, tapi ko markernya blom muncul jg yah? mohon pencerahannya ya

      Hapus
  10. mas saya mau tanya untuk membuat dua mode tampilan : satelite dan road bagaimana ya? apakah bisa diaplikasikan seperti pada google maps v1? terima kasih

    BalasHapus
    Balasan
    1. Saya tidak terlalu yakin jawaban ini yang mas cari.
      Kira-kira seperti ini yang saya pahami, bagian coding :

      myMap.setMapType(GoogleMap.MAP_TYPE_NORMAL);

      artinya sama dengan tipe Road, sedangkan jika ingin tipe Satellite tinggal diubah menjadi

      myMap.setMapType(GoogleMap.MAP_TYPE_SATELLITE);

      Jika ingin dua layer tersebut gabung, satellite dan road kelihatan semua ganti dengan :

      myMap.setMapType(GoogleMap.MAP_TYPE_HYBRID);

      Sebenarnya da tipe satu lagi yaitu Terrain untuk melihat kontur misalnya pada gunung berapi, yaitu :

      myMap.setMapType(GoogleMap.MAP_TYPE_TERRAIN);

      Jika ingin bisa diubah-ubah oleh pengguna secara dinamis silakan membuat Menu atau Button yang berisi baris code di atas.

      Hapus
  11. mas nur kalo mau ditambahin pake info window caranya beda ya dengan google map v1? kalo boleh di ajarin dong..
    tutor diatas udah worked nih mau di tambah"in aja sedikit...
    makasih mas

    BalasHapus
    Balasan
    1. Maaf mungkin saya kurang paham pertanyaannya, kalau ingin keluar infowindow, saya kira pada contoh di atas jika markernya diklik sudah bisa keluar infowindow kecil di atas marker.
      Tetapi jika maksudnya adalah jika marker diklik ingin menampilkan activity lain maka bisa menggunakan kode program berikut :
      ...
      myMap.setOnInfoWindowClickListener(new OnInfoWindowClickListener() {

      @Override
      public void onInfoWindowClick(Marker arg0) {
      // TODO Auto-generated method stub
      // KELUARKAN ACTIVITY LAIN, MISAL DETAILACTIVTY
      // BERI INFORMASI UNTUK DITAMPILKAN DI ACTIVTY TSB
      Intent i = new Intent(MainActivity.this, DetailActivity.class);
      i.putExtra("nama", arg0.getTitle());
      i.putExtra("lat", String.valueOf(arg0.getPosition().latitude));
      i.putExtra("lng", String.valueOf(arg0.getPosition().longitude));
      startActivity(i);
      }
      });

      Tentu saja harus dibuat dahulu Activity baru dengan nama DetailActivity untuk menampilkan parameter yang dikirimkan oleh Event di atas.

      Semoga membantu..

      Hapus
    2. di detail activity cara panggilnya gimana??

      Hapus
  12. Mas mau tanya. Saya buat prgram android untuk mencari lokasi di google map. Data koordinatnya diambil dari database. tapi waktu eksekusi program, lokasi yg tampil tidak sesuai koordinat. yang tampil malah peta dunia. itu knapa ya..??

    BalasHapus
  13. public void onInfoWindowClick(Marker arg0) {
    // TODO Auto-generated method stub
    //JIKA KLIKNYA INGIN DI INFO WINDOW
    }
    });
    Kalau boleh tau listingnya kirimin dong..

    BalasHapus
  14. mas keynya udah sy ganti mas tapi waktu sy run langsung di device kok cuma map putih doank mas gak ada isinya mohon bantuannya mas

    BalasHapus
  15. Assalamu'alaikum..
    sebelumnya saya ucapkan terima kasih kpada sampean mas, kodingnya berguna bgt buat saya,.. g hanya kodingan ini saja, tp kodingan di artikel lainnya di blog ini. saya merasa terbantu.. sangat terbantu. terima kasih mas.

    saya mau tanya mas, di artikel ini kan rute nya dari marker ke lokasi kita,, tp klo misalnya dibalik menjadi dari lokasi kita menuju marker, kodingan mana mas yang dirubah?

    terima kasih.

    BalasHapus
  16. mas kalo ganti peta jogja jadi peta bogor gimana ih ?
    longitude sama latitude udah diganti tapi tetep gak bisa :(

    BalasHapus
  17. Komentar ini telah dihapus oleh pengarang.

    BalasHapus
  18. kalo posisi startnya pake gps sama posisi end nya udah di tentuin dari database gimana ya mas? trus tetep di aplikasi kita gak keluar ke google maps bawaan android. hehe

    BalasHapus
  19. mas saya sudah mengikuti tutorial diatas dengan benar, api key nama package sudah saya ganti dengan punya saya, tapi aplikasi tidak tampil mas unfortunately has stoped, itu kenapa ya mas ? tolong ya mas

    BalasHapus
  20. dan project yang mas sediakan setelah saya download dan dimasukkan ke workspace saya isi nya kosong mas tidak ada source code nya pada file .java dan xml nya

    BalasHapus
  21. mas saya mw nanya klo misalkan dalam infowindow nya diganti dgn no tlp bukan url,lalu bsa lsg otomatis menelpon,codenya gimana ya mas..???bagi infonya dong mas...trimss...

    BalasHapus
    Balasan
    1. halo enrico, sudah bisa yang langsung otomatis menelepon belum? kalau sudah bisa, kodingannya bagaimana ya ?? butuh banget :"" terimakasih sebelumnyaa

      Hapus
  22. terimakasih atas tutorialnya..
    kalo digunung buat Direction nya gimana tolong pencerahanya..
    ini untuk masa depan soalnya,,,, hehehe

    BalasHapus
  23. Mas versi webnya ada tutorialnya ya? Sms ke 082192921113.nanti ada imbalannya,terima kasih

    BalasHapus
  24. Mas sasetelah saya run kok unfortunetly has stoped yah mas, padahal API Key sudah saya ganti dengan kepunyaan saya mas. mohon pencerahannya mas. Terimakasih mas. jawaban anda menentukan masa depan saya mas..

    BalasHapus
  25. sangat membantu bnget mas... mkasi buat tutorialnya....

    BalasHapus
  26. permisi saya mau nanya kalo memasukan infolokasi ketika lokasi berada di marker itu gimana ya mas? terimakasi sebelumnya

    BalasHapus
  27. Mas mau tanya.. Program di atas itu apa bisa di katakan locatin base service? Terimakasih

    BalasHapus
  28. Mas saya udah ikutin semua tutor diatas dari awal hingga akhir, di eclipse tidak ada error. saya coba instal lewat apk di folder bin, tapi hasil nya force close terus. kenapa ya mas? tolong dijawab..

    BalasHapus