Membuat Aplikasi Location Based Services di Android

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

New Location

Kemudian ini yang akan muncul apabila kalian klik Get Location

Lokasi saat ini

Klik View On Map untuk membuat visualisasi dari lokasi dimana kalian berada B-)

View On Map

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
Get it on Google Play

Sekian, semoga membantu. 😀





Download aplikasi kami di Google Play Store


Tutorial Menarik Lainnya :

74 Comments
  1. margaret_fun June 11, 2012
    • Herdi Naufal June 11, 2012
  2. margaret_fun June 13, 2012
    • Herdi Naufal June 14, 2012
      • margaret_fun June 15, 2012
        • Herdi Naufal June 15, 2012
  3. nia August 29, 2012
    • Herdi Naufal August 30, 2012
      • nia August 30, 2012
        • Herdi Naufal August 30, 2012
  4. nia September 4, 2012
  5. Rahmat September 5, 2012
    • Herdi Naufal September 13, 2012
  6. rendy October 7, 2012
  7. Arif October 23, 2012
    • Herdi Naufal October 23, 2012
      • Arif November 1, 2012
        • twoh December 14, 2012
  8. Randi October 26, 2012
  9. robby November 4, 2012
    • twoh December 14, 2012
  10. Levi November 5, 2012
    • twoh December 14, 2012
  11. Aas November 13, 2012
    • Herdi Naufal November 19, 2012
  12. Bas February 1, 2013
    • Herdi Naufal February 1, 2013
      • Bas February 1, 2013
        • Herdi Naufal February 2, 2013
          • Bas February 2, 2013
          • Herdi Naufal February 9, 2013
  13. Frans March 3, 2013
  14. Pandu March 17, 2013
    • Herdi Naufal March 18, 2013
      • pandu March 19, 2013
        • Herdi Naufal March 19, 2013
  15. Adit March 31, 2013
    • Herdi Naufal March 31, 2013
  16. winduuut April 3, 2013
    • Herdi Naufal April 4, 2013
  17. evan December 6, 2013
  18. nurman February 26, 2014
    • Hafizh Herdi Naufal April 25, 2014
  19. Michael April 24, 2014
  20. Michael April 24, 2014
    • Hafizh Herdi Naufal April 25, 2014
      • agungs April 25, 2014
  21. Marhendy November 3, 2014
  22. choderi November 13, 2014
  23. choderi November 21, 2014
  24. Andykha November 22, 2014
  25. ragil January 22, 2015
  26. dila May 6, 2015
    • Hafizh Herdi Naufal May 6, 2015
      • dila May 9, 2015
  27. Dwi Sekti October 15, 2015
    • Dwi Sekti October 15, 2015
      • Hafizh Herdi October 16, 2015
        • Dwi Sekti October 27, 2015
  28. harry February 10, 2016
  29. jizran December 16, 2016

Leave a Reply

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

TWOH&Co.