Tutorial Aplikasi Android LBS Rumah Makan Padang

Jumpa lagi dengan Agus Haryanto dalam seri tutorial Android. Location Based Service (LBS), Nampak terdengar hebat namanya ditelinga apa lagi kalau kita bisa membuat aplikasi yang memanfaatkan Location Based Service. Dari pembaca blog ini mungkin ada yang merasa kagum dengan kemampuan FourSquare yang dapat mengetahui kita checkin digedung apa, mall apa atau restoran apa. Atau dengan aplikasi toresto, aplikasi local android buatan anak bangsa yang mampu memberikan kita infrormasi restoran atau rumah makan yang dekat dengan posisi kita.

•         Anda pernah melihat status teman anda di facebook “Check In @Plaza Semanggi”

•         Anda pernah coba aplikasi yang menunjukkan posisi kita sekaligus tempat-tempat yang dekat dengan kita

•         Semua itu bisa dibilang termasuk golongan Location Based Service (LBS)


Saya juga bertanya-tanya kok bisa yah aplikasi mereka memberikan informasi seperti itu ?

Untuk menjawab pertanyaan itu saya coba buatkan gambar konsep aplikasi LBS

Dari gambar diatas antara kita dengan lokasi-lokasi disekitar kita terdapat jarak, ada yang 200m atau 210m atau 100m dan lainnya. Jadi sudah jelaskan yang dijadikan parameter untuk aplikasi LBS adalah jarak dari posisi kita berada ke lokasi-lokasi di sekitar kita.

Tapi kenapa kok mereka bisa tahu yah nama lokasinya dengan benar, itu karena mereka mempunyai bank data yang menyimpan koordinat lokasi berserta namanya.

Jadi untuk membuat sebuah aplikasi LBS minimal harus mempunyai kemampuan untuk

  1. Dapat mengetahui koordinat posisi kita
  2. Punya bank data atau dapat mengakses bank data yang menyimpna data koordinat lokasi dan informasi mengenai lokasi tersebut
  3. Dapat Menghitung jarak antara posisi kita dengan sebuah lokasi.
  4. Dapat Menampilkannya menjadi informasi yang bisa dibaca user contohnya kedalam Map (Google Map)

Jadi secara singkat Algoritma Aplikasi LBS adalah

  1. Dapatkan koordinat posisi kita melalu GPS
  2. Tetapkan Lokasi-lokasi yang ingin kitampilkan difilter berdasarkan jarak
  3. Gambar Posisi kita dan Lokasi-lokasi terdekat dalam map

Oke langsung saja kita praktekan, Pada Training Bootcamp IndosatM2 sabtu kemarin kami membuat aplikasi LBS Rumah makan padang disekitar ku.

Berikut Langkah-langkahnya

  1. Buat Projectnya, ikuti inputan seperti dibawah ini.

2.  setelah project tercreate maka secara otomatis android membentuk 3 file yaitu :

  • main.xml
  • string.xml
  • TunjukLokasiBeraksi.java

3. Agar Kita dapat melihat posisi kita pada map maka kita harus menandakan dengan dengan gambar atau icon, dalam dunia google map ini disebut marker. Untuk itu kita perlu meletakkan file gambar untuk marker (marker.png) di directory res/drawable dan kita juga file gambar untuk bangunan disekitar kita

4. Edit main.xml lalu isikan kode berikut

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">

    <com.google.android.maps.MapView
        android:id="@+id/mapView"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:enabled="true"
        android:clickable="true"
        android:apiKey="Key Google Map"
        />

</RelativeLayout>

Disini untuk menampilkan MAPnya kita menggunakan tag com.google.android.maps.MapView,
sedangkan untuk Layoutnya adalah Relative Layout
Untuk android:apiKey, isi dengan key Google Map yang telah kita buat dari tutorial sebelumnya

5. Untuk dapat melakukan menampilan Map Google Map dan Menangkap GPS dari satelit kita perlu menambahkan <uses-library> com.google.android.maps dan <uses-permission> INTERNET, ACCESS_FINE_LOCATION, ACCESS_COARSE_LOCATION nya melalui file AndroidManifest.xml , buka file AndroidManifest.xml lalu ketikkan seperti kode berikut :

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="com.agus.map.lok"
      android:versionCode="1"
      android:versionName="1.0">
    <uses-sdk android:minSdkVersion="7" />

    <application android:icon="@drawable/icon" android:label="@string/app_name">
    <uses-library android:name="com.google.android.maps" />
        <activity android:name=".TunjukLokasiBeraksi"
                  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>
    <uses-permission android:name="android.permission.INTERNET"></uses-permission>
	<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission>
	<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"></uses-permission>

</manifest>

6. Sekarang Mari kita buat class Lokasi.java sebagai template object untuk menyimpan data
lokasi bangunan, pada project ini adalah rumah makan padang

package com.agus.map.lok;

public class Lokasi {
	public double lat = 0;
	public double lng = 0;
	public int category = 0;
	public String lokname = "";

	public Lokasi(double plat, double plng, int pcategory, String sname) {
		this.lat = plat;
		this.lng = plng;
		this.category = pcategory;
		this.lokname = sname;
	}
}

7. Buat Class Baru dengan nama MyItemizedOverlay.java funngsi untma class
ini adalah untuk marker (icon penunjuk posisi kita pada Map dan
lokasi rumah makan padang disekitar kita)

package com.agus.map.lok;

import java.util.ArrayList;
import java.util.List;

import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.DialogInterface.OnClickListener;
import android.graphics.Canvas;
import android.graphics.drawable.Drawable;

import com.google.android.maps.ItemizedOverlay;
import com.google.android.maps.MapView;
import com.google.android.maps.OverlayItem;

public class MyItemizedOverlay extends ItemizedOverlay {

	private ArrayList<OverlayItem> items = new ArrayList<OverlayItem>();
	private Drawable marker;
	private Context mContext;

	public MyItemizedOverlay(Drawable defaultMarker) {
		super(defaultMarker);
		// items = new ArrayList();
		marker = defaultMarker;
	}

	public MyItemizedOverlay(Drawable defaultMarker, Context context) {
		super(boundCenterBottom(defaultMarker));
		mContext = context;
	}

	@Override
	protected OverlayItem createItem(int index) {
		return (OverlayItem) items.get(index);
	}

	@Override
	public int size() {
		return items.size();

	}

	/*
	 * (non-Javadoc)
	 *
	 * @see
	 * com.google.android.maps.ItemizedOverlay#draw(android.graphics.Canvas,
	 * com.google.android.maps.MapView, boolean)
	 */
	@Override
	public void draw(Canvas canvas, MapView mapView, boolean shadow) {
		super.draw(canvas, mapView, shadow);
		// boundCenterBottom(marker);

	}

	public void addItem(OverlayItem item) {
		items.add(item);
		populate();
	}

	@Override
	protected boolean onTap(int index) {
		OverlayItem item = items.get(0);
		AlertDialog.Builder dialog = new AlertDialog.Builder(mContext);
		dialog.setTitle(item.getTitle());
		dialog.setMessage(item.getSnippet());
		dialog.setPositiveButton("Close", new OnClickListener() {
			@Override
			public void onClick(DialogInterface arg0, int arg1) {
				arg0.dismiss();
			}
		});
		dialog.show();
		return true;
	}

}

8. Sekarang Mari kita edit File TunjukLokasiBeraksi.java

package com.agus.map.lok;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import android.content.Context;
import android.graphics.drawable.Drawable;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Bundle;
import com.google.android.maps.GeoPoint;
import com.google.android.maps.MapActivity;
import com.google.android.maps.MapView;
import com.google.android.maps.Overlay;
import com.google.android.maps.OverlayItem;

/**
 * Aplikasi ini  untuk menampilkan lokasi posisi koordinat GPS
 * kita saat ini Pada MAP dan bangunan disekitarnya
 *
 * @author Agus Haryanto
 */
public class TunjukLokasiBeraksi extends MapActivity {

	private MapView mapView;
	private LocationManager locManager;
	private LocationListener locListener;
	private ArrayList<Lokasi> list_lokasi = new ArrayList<Lokasi>();

	/** Called when the activity is first created. */
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		initLokasi();
		initMap();
		initLocationManager();
	}

	/**
	 * Initialize the map to the Data Location.
	 */
	private void initLokasi() {
		list_lokasi.add(new Lokasi(-6.29826d, 106.82024d, 1,
				"RM Padang Sari Mande"));
		list_lokasi.add(new Lokasi(-6.28326d, 106.82324d, 2,
				"RM Padang Sederhana"));
		list_lokasi
				.add(new Lokasi(-6.29326d, 106.83324d, 3, "RM Padang Garuda"));

	}

	/**
	 * Initialize the map to the LinearLayout.
	 */
	private void initMap() {
		mapView = (MapView) findViewById(R.id.mapView);
		mapView.displayZoomControls(true);
		mapView.getController().setZoom(15);

	}

	/**
	 * Initialize the location manager.
	 */
	private void initLocationManager() {
		locManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);

		locListener = new LocationListener() {
			// method ini akan dijalankan apabila koordinat GPS berubah
			public void onLocationChanged(Location newLocation) {
				tampilkanPosisikeMap(newLocation);
			}

			public void onProviderDisabled(String arg0) {
			}

			public void onProviderEnabled(String arg0) {
			}

			public void onStatusChanged(String arg0, int arg1, Bundle arg2) {
			}
		};
		locManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0,
				1000, locListener);

	}

	/**
	 * This method will be called when current position changed is submitted via
	 * the GPS.
	 *
	 * @param newLocation
	 */
	protected void tampilkanPosisikeMap(Location newLocation) {
		List<Overlay> overlays = mapView.getOverlays();

		// first remove old overlay
		if (overlays.size() > 0) {
			for (Iterator iterator = overlays.iterator(); iterator.hasNext();) {
				iterator.next();
				iterator.remove();
			}
		}

		// transform the location to a geopoint
		GeoPoint geopoint = new GeoPoint(
				(int) (newLocation.getLatitude() * 1E6), (int) (newLocation
						.getLongitude() * 1E6));
		GeoPoint myposition = geopoint;
		Location locationA = new Location("point A");
		Location locationB = new Location("point B");
		locationA.setLatitude(geopoint.getLatitudeE6() / 1E6);
		locationA.setLongitude(geopoint.getLongitudeE6() / 1E6);
		// initialize icon
		Drawable icon = getResources().getDrawable(R.drawable.marker);
		icon.setBounds(0, 0, icon.getIntrinsicWidth(), icon
				.getIntrinsicHeight());

		// create my overlay and show it
		MyItemizedOverlay overlay = new MyItemizedOverlay(icon, this);
		OverlayItem item = new OverlayItem(geopoint, "My Location", "Lat:"
				+ locationA.getLatitude() + "\nLng:" + locationA.getLongitude());
		overlay.addItem(item);
		mapView.getOverlays().add(overlay);
		for (int i = 0; i < list_lokasi.size(); i++) {
			geopoint = new GeoPoint((int) (list_lokasi.get(i).lat * 1E6),
					(int) (list_lokasi.get(i).lng * 1E6));
			locationB.setLatitude(geopoint.getLatitudeE6() / 1E6);
			locationB.setLongitude(geopoint.getLongitudeE6() / 1E6);

			double distance = locationA.distanceTo(locationB);

			if (list_lokasi.get(i).category == 1) {
				icon = getResources().getDrawable(R.drawable.shop);
			} else if (list_lokasi.get(i).category == 2) {
				icon = getResources().getDrawable(R.drawable.building);
			}
			else if (list_lokasi.get(i).category == 3) {
				icon = getResources().getDrawable(R.drawable.store);
			}

			icon.setBounds(0, 0, icon.getIntrinsicWidth(), icon
					.getIntrinsicHeight());
			overlay = new MyItemizedOverlay(icon, this);
			item = new OverlayItem(geopoint, list_lokasi.get(i).lokname, "Lat:"
					+ list_lokasi.get(i).lat + "\nLng:"
					+ list_lokasi.get(i).lng + "\n Jarak:" + distance+"m");
			overlay.addItem(item);
			mapView.getOverlays().add(overlay);
		}

		// move to location
		mapView.getController().animateTo(myposition);

		// redraw map
		mapView.postInvalidate();
	}

	@Override
	protected boolean isRouteDisplayed() {
		return false;
	}
}

Perhatikan method initLokasi(), pada method ini kita mendaftarkan data lokasi dari rumah makan padang.

Disini datanya bukan data benaran hanya contoh saja agar kita bisa membuktikan kerja Aplikasi ini

private void initLokasi() {
		list_lokasi.add(new Lokasi(-6.29826d, 106.82024d, 1,
				"RM Padang Sari Mande"));
		list_lokasi.add(new Lokasi(-6.28326d, 106.82324d, 2,
				"RM Padang Sederhana"));
		list_lokasi
				.add(new Lokasi(-6.29326d, 106.83324d, 3, "RM Padang Garuda"));

	}



Pada method diatas kita menyimpan datanya ke sebuah ArrayList list_lokasi

Kalau ditablekan akan seperti ini

Latitude Longitude Kategori Nama
-6.29826 106.82024 1 RM Padang Sari Mande
-6.28326 106.82324 2 RM Padang Sederhana
-6.29326 106.83324 3 RM Padang Garuda

Yang penasaran untuk menampilkan marker pada googlemap dengan gambar yang berbeda-beda.

Perhatikan code ini

			if (list_lokasi.get(i).category == 1) {
				icon = getResources().getDrawable(R.drawable.shop);
			} else if (list_lokasi.get(i).category == 2) {
				icon = getResources().getDrawable(R.drawable.building);
			}else if (list_lokasi.get(i).category == 3) {
				icon = getResources().getDrawable(R.drawable.store);
			}

Nah disini bangunan rumah makan padang akan tergambar dimap berdasarkan kategorinya

Kategori Gambar
1 shop.gif
2 building.gif
3 store,gif

Oh ia salah satu syarat aplikasi LBS kan dia harus bisa menghitung jarak.

Nah ternyata android googlemap sudah menyediakan fungsi tersebut yaitu dengan menggunakan distanceTo

9. sekarang mari kita jalankan programnya. Bagi yang menggunakan emulator jangan lupa mainkan
Latitude dan longitudenya dari Emulator Control (DDMS) set Latitude = -6.298418 Longitude=106.82639
maka akan tampil seperti ini

Yang gambar balon merah adalah lokasi kita sedangkan yang lainnya adalah gambar bangunan disekitar kita

coba kita klik/sentuh salah satu bangunan yang paling jauh.

Akan muncul informasi Nama, latitude, longitude dan jarak bangunan tersebut dari posisi kita.

Disini dapat dilihat bahwa nama bangunan itu adalah RM Padang Sederhana dengan jarak 1708,8 m

dari posisi kita.

Nah cobalah klik bangunan lainnya untuk mendapatkan informasinya.

Pada saat ini lokasi bangunan yang ada disekitar kita belum kita filter jaraknya.

Salah satu yang disyaratkan dalam aplikasi LBS adalah filtering jarak.  Sekarang mari kita coba buat filtering atau pembatasan lokasi yang muncul adalah lokasi yang jaraknya kirang dari 1000m.

Untuk itu tambahkan

If (distance <1000){

Dibawah code double distance = locationA.distanceTo(locationB);

Dan  tambah kan {

diatas code  mapView.getController().animateTo(myposition);

Kemudian mari kita run kembali aplikasinya. Maka sekarang yang terlihat hanya 2 bangunan saja.

Wah, tidak menyangkayah kita bisa membuat aplikasi LBS. Alhamdulillah 🙂

Sekarang kita sudah punya satu senjata lagi untuk buat aplikasi yang keren.

Pada aplikasi LBS selain aplikasi, data memegang peranan yang sangat penting, karma kalau tidak ada data adalah hal yang mustahil kita dapat membuat aplikasi LBS. buat para mahasiswa kesempatan nih selain sebagai pengembang kita juga dapat menjadi provider data. Cara yang sederhana adalah dari kumpulkan data bangunan lingkungan sekitar campus dulu.

Semoga Bermanfaat

Agus Haryanto

Sumber :

http://developer.android.com

http://blogs.itemis.de/frey/2009/04/07/location-based-services-on-android-part-2/

212 comments to Tutorial Aplikasi Android LBS Rumah Makan Padang

  • egar

    hallo mas agus, terima kasih untuk tutorialny. dari bebrapa tutorial di blog mas agus, saya ad sedikt pertanyaan. bagaiaman klo kita ga memainkan variabel lattitude dan longtitude di emulator tetapi kita dapatkan sendiri dari perangkt GPS android itu sendiri
    terima kasih

  • Nanang

    Coba ahh…

  • Nanang

    private ArrayList list_lokasi = new ArrayList();
    error disitu punya saya mas, jadi gak jalan.
    Makasih tutornya nanti dicoba lagi dech

  • Makasi atas tutorialnya mas agus,mau saya coba praktekan dulu.
    oiya… seklaian ijin repost ya?

  • Jee

    mas, kalau kita mau cari latitude dan longitude secara otomatis gimana? jadi biar misalkan pemilik rumah makan yang lain bisa ikut menampilkan dagangannya- diberi layanan untuk menambahkan gitu….

  • Dhany

    mas saya punya masalah
    kira2 seperti ini masalahnya mas..
    saya punya database di my SQL pada database server saya. yang isinya adalah Latitude dan langitude Point Of Interest,..nah saya ingin tampilkan itu di applikasi android saya, jadi kira2 seperti ini saya ingin menampilkan marker pada goole map Androidn yg datanya diambil dari database server my SQL menggunakan HTTP,nah gimna caranya ngambil data dan menampilkannya tersebut…?
    terimakasih sebelumnya mas..

  • Bisa Request Cara membuat search engine di android ga bro agus?

    kebetulan gw lagi bikin Project di kampus, tapi harus ditambahin search engine hehehehhee….

    gw pribadi udah bikin search engine,, tapi maen nya pake cara database

  • imamulhuda

    mas agus saya udah ikutin langkah-langkahnya…
    ga ada error,, tapi pas di run koq forceclose…
    kira2 dimana problemnya..?
    mohon pencerahannya..

  • afan

    pertanyaan nya sama kaya bro “dhany” mohon bantuan nya mas…mkasih

  • udin

    maaf mas, mau tanya kalo nyoba aplikasinya pake internet yg pake proxy gmana mas? sy ada masalah ketika internetnya pake proxy, mapnya jd g muncul, padahal sudah disetting di emulatornya (bg access point names) sm di eclipsenya juga ga bs?

  • Kadek Iwan

    halo mas agus terima kasih atas tutorialnya
    maaf saya mau bertanya, pertanyaan sama seperti Dhany namun perbedaannya menggunakan database di SQlite
    thanx sblumnya mas

  • keereeen..thanks tutornya Gan..
    ada tutorial yang pake database kagak Gan! biaR data2 kOordinat diambil dari database!!

  • Untuk Mas Udin;

    saya punya pengalaman sama, bekerja dibelakang proxy dan map nya tidak muncul, setelah searching dan dicoba ternyata saya mendapat tips nya yaitu:

    ketik command line ini di Run – Run Configuration – Target- pilih Google API- scroll ke bawah isi perintah ini di Addtitonal Emulator Command line options:

    -http-proxy http://: -debug-proxy

    saya sudah mencobanya dan berhasil;

    semoga membantu;
    Opik

  • contoh command line nya :

    -http-proxy http://192.168.1.1:880 -debug-proxy

  • Baskoro

    mas saya ada masalah waktu mencompile program LBSnya
    kok error yaa??force close gt mas??
    kira2 knp ya mas??mohon petunjuknya mas

  • johnny

    mas Agus , kasih tutorial route ke place nya dong,,, Salam Droid

  • harys

    om agus atau om opik saya bisa minta project nya gak.buat tugas kuliah.saya akan sangat berterimakasih kalo berkenan memberi.tolong kirim ke harys.net@gmail.com.semoga allah yang membalas kebaikan nya

  • ican

    mas saya error di import com.google.android.maps. ;
    itu dia ngambil dari google nya dlu ? knp ya pny saya error ? thx mas

  • anyeh

    setuju dengan Johnny..
    buat route mas..
    terima kasih..

  • ada yang tau cara buat nge-generate debug.keystore buat ngambil Fingerprint MD5 -nya di Fedora gak?

    lewat terminal??

    yang tau ato yang pake Linux ato Fedora kasih tau ane dong,
    ane keliling-keliling google gak nemu nih -____-“

  • Mantap sekali mas agus tutorialnya
    Bisa dicumba nih ^^

  • anyeh

    mas, ada masalah sdikit,, marker kenapa gk muncul ya mas.. terima kasih.. padahal saya sudah menglokasikan picture di drawable..

  • Baskoro

    udah bener codingnya ga ada yg error
    tp tiap kali dijalankan knp force close ya mas??
    maaf mas..tolong direspon pertanyaan saya
    saya butuh untuk mengerjakan TA saya mas
    mungkin bisa lgsg lewat emai saya
    terima kasih atas responnya

  • bond

    mas bisa minta sharing file projectnya gak ?

    *maaf kalo merepotkan, cos ane nyoba force close melulu. thx

  • Baskoro

    mas tanya donk
    LBSnya udah bisa dirunning nih
    naahh mau ane gabungin ama menu tab yg ada disini mas
    masalahnya kok ga mau jalan ya mas??
    jadinya terpisah mas
    ada map ama menu tabnya
    biar bisa jadi 1 aplikasi gimana ya mas??
    makasih
    mohon dijawab mas

  • Nugroho

    Mas mau tanya dong..
    conto di atas kan d daerah Jakarta,
    klo saya mau ganti kota yang di ubah bagian mananya?
    newbie butuh bantuan ne hehe
    makasih..

  • Udin

    Mas, saya udah ikutin tuorialnya ampe beres n sama persis
    cuma nama packagenya aja yang beda jadi com.udin.lbs sisanya sama

    di Eclipse gak ada error

    pas saya Run…

    L

    O

    A

    D

    I

    N

    G

    FORCE CLOSE!!!

    kenapa ya?
    padahal di Eclipse-nya gak ada error…

    kalo aplikasi force close gitu biasanya salah dimananya ya?
    di Layout .xml-nya, .java-nya ato dimananya?

    Mohon pencerahannya

  • mas mau nanya ni.
    kalo misalnya rumah padang nya mw di bikin ke list view gitu gimana ya?
    jadi thu ntar di list view ada nama rumah makan padangnya dan di bawah nama ada jaraknya…
    ntar klo di klik muncul di map langsung rumah makan padang yang di pilih.
    mohon bantuannya mas. mw buat aplikasi ttg LBS juga ni.hehe…
    terimakasih sebelumnya…

  • Yudha

    Pak Agus,punya saya kok force close terus ya??
    Pak bisa minta source code nya gak? Tolong kirimin ke email saya..

  • Erik

    Untuk Egar sudah ada contohnya Read GPS location, LocationManager di http://android-er.blogspot.com/2009/11/read-gps-location-locationmanager.html

  • Erik

    mantap deh dari Read GPS location, LocationManager (http://android-er.blogspot.com/2009/11/read-gps-location-locationmanager.html) bisa bikin robot bergerak berdasarkan lokasi ke lokasi lain berdasarkan posisi GPS. BTW bisa juga untuk prototip pesawat tanpa awak.
    🙂
    🙂

  • Ivan

    Makasih mas buat tutorialnya sangat membantu buat TA saya…

    tapi setelah saya coba pake eclipse coding nya error di semua bagian “import com.google.android.”
    kalo di sorot message error nya : “the import com.google cannot be resolved”
    tolong pencerahannya mas and buat semua yg komen di atas minta pencerahannya jg ya… 🙂

  • ekarock26

    mas saya sudah ikutin cara d atas smpe 3x koq eror trus mas….
    da msalah ttg library katana…
    gmna solusina mas…
    mohon balasana…

  • Agus Haryanto

    @ekarock26, Pada saat create Projectnya Targetnya sudah GoogleAPI ?. karean untuk project ini menggunakan library GoogleAPI. Untuk lebih jelasnya coba dulu tutorial Belajar Android – Pengenalan GoogleMap di http://agusharyanto.net/wordpress/?p=269

  • ekarock16

    akhirna ktemu mas mslahna…
    mslahna d bagian androidmanifest.xml

    seharusna angka 7 tu d ganti dgn angka 8

    tpi skarang mslahna mapna kdang” muncul dan hanya marker saja yang kliatan…
    mohon penjelasana mas…

  • ekarock26

    waaah ternyata masalah ada pada androidmanifest.xml mas
    seharusnya pada bagian
    angka 7 dirubah menjadi 8 mas

    maklum masih nubiw mas 🙂
    d tunggu tutorial berikutnya…

  • Kadek Iwan

    mas saya mau bertanya
    error messagenya : ItemizedOverlay is a raw type. References to generic type ItemizedOverlay should be parameterized

    dan

    The field MyItemizedOverlay.marker is never read locally

    error itu terdapat pada class MyItemazedOverlay.java
    pada method

    public class MyItemizedOverlay extends ItemizedOverlay{

    private ArrayList items = new ArrayList();
    private Drawable marker;

    maaf msh newbie mas

  • Kadek Iwan

    o ya satu lagi mas
    klo errornya
    Syntax error on token(s), misplaced construct(s)
    pada metod
    // method ini akan dijalankan apabila koordinat GPS berubah
    public void onLocationChanged(Location newLocation) {
    tampilkanPosisikeMap(newLocation);
    }

    public void onProviderDisabled(String arg0) {

    public void onProviderEnabled(String arg0) {
    };

    public void onStatusChanged(String arg0, int arg1, Bundle arg2) {
    }
    };
    locManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0,
    1000, locListener);

    }

  • Handy

    mau nanya ni mas, klo misalnya data lokasi (seperti yg disini itu data resto padang) saya ambil dari database mysql gt bisa ga ya?
    jadi ane buat table seperti ini misalnya :

    latitude|longitude|nama tempat

    trus di map nya akan ditampilin berdasarkan data yg sudah saya masukin di table nya, kira2 gmn ya mas?

    trus sama itu angka longitude sama latitude nya kok diakhiri sama “d” ya? (-6.29826d)

    list_lokasi.add(new Lokasi(-6.29826d, 106.82024d, 1,
    3
    “RM Padang Sari Mande”));

    terima kasih sebelumnya

  • ibuhi

    Trims posting yang sangat bermanfaat pak….
    Tadinya aplikasi saya selalu crash saat run di emulator (‘-has stopped unexpectedly’ dan forced to close) Ternyata di manifest saya belum tambahkan library

    Seperti contoh Pak Agus..soalnya di file manifest yang di autogenerate oleh eclipse saya ternyata belum ada library tersebut, sementara saya cuma nambahin permission aja..

    Mungkin rekan2 yang mengalami masalah forced close juga kasusnya sama kayak saya..
    Skali lagi tks Pak..

  • ibuhi

    ini library nya yang ketinggalan :

  • ibuhi

    uses-library android:name=”com.google.android.maps”

  • dipta rockstar

    keren mas app’a….
    cb dl ya….

  • dipta rockstar

    mas agus ud saya cb….
    tp kok map’a ga muncul2 ya…
    cm ad kotak2 aja….
    mohon bantuan’a mas….

  • mas, saya mau tanya nih ttg artikel mas ttg Tutorial Aplikasi Android LBS Rumah Makan Padang.,
    saya mengkopi semua code yang diberikan kok ada errornya ya,yaitu:

    1. di kelas MyItemizedOverlay

    pesan errornya di baris ini :
    public class MyItemizedOverlay extends ItemizedOverlay

    kemudian pesan errornya adalah seperti ini:
    ItemizedOverlay is a raw type. References to generic type ItemizedOverlay should be parameterized

    2. di kelas TunjukLokasiBeraksi

    pesan errornya di baris ini : [method tampilkanPosisikeMap]
    for (Iterator iterator = overlays.iterator(); iterator.hasNext();)

    kemudian pesan errornya adalah seperti ini:
    Iterator is a raw type. References to generic type Iterator should be parameterized

    itu kenapa ya mas?

  • aas

    kalo maping online bisa pkai database nga? klo bisa mohon tutor nya yg komplit masih pemula soalnya hehe. trima kasih sebelumnya.

  • Agus Haryanto

    @aas, Bisa mas, coba belajar tentang web service dari android komunikasi dengan mysql diserver menggunakan php

  • aas

    ms tutor rmh mkn padangnya sudah saya coba ,tpi knp gk muncul mapnya? hanya marker dan bidang kotak2 saja harap bantuanya.

  • yudha

    iya mas saya sama kaya aas pertanyaanya,,, yg keluar cuma kotak2.. apa itu dari google api key nya mas,, tp saya udah coba di postingan mas yg sebelumnya yg belajar android google map.. api keynya bisa,, muncul map.. tp kok ini gak ya mas,, mohon bantuanya mas,,

    terimah kasih atas waktunya mas,

  • Agus Haryanto

    @yudha, harusnya kalau belajar android google map muncul, untuk tutorial ini juga muncul, coba tutup emulatornya lalu run kembali

Leave a Reply

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>