Lampiran 1: User Manual
1. Sentuh tombol “Algoritma Dijkstra” untuk masuk ke halaman “Map” dan kemudian melakukan pencarian jalur terpendek dengan menggunakan algoritma Dijkstra.
2. Sentuh tombol “Algoritma Floyd-W” untuk masuk ke halaman “Map” dan kemudian melakukan pencarian jalur terpendek dengan menggunakan algoritma Floyd-Warshall.
3. Sentuh tombol “Help” untuk masuk ke halaman “Help” yang berisi cara penggunaan sistem.
132
Lampiran 2: Gambar Peta Jalur dan Halte Bus Trans Jogja
RINGROAD UTARA (MONJALI 2) RINGROAD UTARA (STIKES GUNA BANGSA)
RINGROAD UTARA (UPN) RS AU DR. S. HARDJOLUKITO RS DR YAP RSI HIDAYATULAH RSUP DR. SARDJITO SANATA DHARMA SANTREN
SENOPATI 1 (TAMAN SENOPATI) SENOPATI 2 (TAMAN PINTAR) SMP 5 YOGYAKARTA
SMPN 11
SOROGENEN (NITIKAN) SOROGENEN (WIROSABAN) SUDIRMAN 2 (BUMI PUTERA) SUDIRMAN 3 (GONDOLAYU) SUDRIMAN 1 (BETHESDA) SUGIYONO 1 (SD PUJOKUSUMAN) SUGIYONO 2 (MUSEUM PERJUANGAN) SUSTERAN NOVISIAT TEGAL GENDU 1 TEGAL GENDU 2 TEGALTURI 1 TEGALTURI 2 TEJOKUSUMAN TENTARA PELAJAR 1 (SMP 14) TENTARA PELAJAR 2 (SAMSAT) TERMINAL CONDONGCATUR TERMINAL JOMBOR
UNY
URIP SUMOHARJO (LPP)
SENOPATI 1 (TAMAN SENOPATI) TENTARA PELAJAR 1 (SMP 14) 2.84 1B RS DR YAP JL. COLOMBO (KOSUDGAMA) 0.905 1B JL. COLOMBO (UNY) JL. SOLO (DE BRITTO) 1.47 1B JL. SOLO (DE BRITTO) JL. SOLO (AMBARUKMO) 0.941 1B JL. SOLO (AMBARUKMO) JANTI FLYOVER 1.16 1B JANTI FLYOVER JL. SOLO (JANTI) 0.611 1B RINGROAD UTARA (MONJALI 1) AM. SANGAJI 2 (JETIS) 3.155 2A AM. SANGAJI 2 (JETIS) MANGKUBUMI 1 (TUGU) 0.999 2A SENOPATI 2 (TAMAN PINTAR) KATAMSO 1 (PURAWISATA) 0.981 2A KATAMSO 1 (PURAWISATA) SUGIYONO 1 (SD PUJOKUSUMAN) 0.791 2A SUGIYONO 1 (SD PUJOKUSUMAN) RSI HIDAYATULAH 1.984 2A RSI HIDAYATULAH NGEKSIGONDO (DIKLAT PU) 1.302 2A NGEKSIGONDO (DIKLAT PU) GEDONG KUNING (DEP.KEHUTANAN) 0.764 2A GEDONG KUNING (DEP.KEHUTANAN) KUSUMANEGARA (GEMBIRALOKA) 2.27 2A KUSUMANEGARA (GEMBIRALOKA) KUSUMANEGARA 4 (SGM) 0.598 2A 1B KUSUMANEGARA 4 (SGM) KENARI 2 (MANDALA KRIDA) 1.676 2A KENARI 2 (MANDALA KRIDA) SMP 5 YOGYAKARTA 2.601 2A SMP 5 YOGYAKARTA SUDRIMAN 1 (BETHESDA) 0.981 2A SUDRIMAN 1 (BETHESDA) RS DR YAP 0.533 2A RS DR YAP JL. COLOMBO (KOSUDGAMA) 0.905 2A JL. COLOMBO (KOSUDGAMA) JL. COLOMBO (UNY) 0.916 2A 1B JL. COLOMBO (UNY) UNY 0.512 2A
UNY SANTREN 0.958 2A
SANTREN TERMINAL CONDONGCATUR 1.249 2A RINGROAD UTARA (MANGGUNG RINGROAD UTARA (MONJALI 2) 2.198 2A TERMINAL JOMBOR RINGROAD UTARA (MONJALI 1) 0.949 2B 2A
GEDONG KUNING (DEP.KEHUTANAN) GEDONG KUNING (JEC) 2.395 3A GEDONG KUNING (JEC) JL. SOLO (JANTI) 2.566 3A 1A JL. SOLO (JANTI) JL. SOLO (ALFA) 0.902 3A 1A 1B JL. SOLO (ALFA) JL. SOLO (MAGUWO) 0.905 3A 1A 1B JL. SOLO (MAGUWO) BANDARA ADISUCIPTO 1.071 3A 1A 1B 3B BANDARA ADISUCIPTO RINGROAD UTARA (DISNAKER) 2.966 3A RINGROAD UTARA (DISNAKER) RINGROAD UTARA (INSTIPER 2) 1.17 3A RINGROAD UTARA (INSTIPER 2) RINGROAD UTARA (UPN) 1.774 3A RINGROAD UTARA (UPN) TERMINAL CONDONGCATUR 1.612 3A TERMINAL CONDONGCATUR RINGROAD UTARA (MANGGUNG) 1.381 3A 2A RINGROAD UTARA (MANGGUNG) FK-UGM 2.467 3A FK-UGM JL. KALIURANG (KOPMA UGM) 0.991 3A JL. KALIURANG (KOPMA UGM) CIK DI TIRO 1 (MUSEUM KOREM) 1.128 3A SMP 5 YOGYAKARTA KOTABARU 0.819 3A KOTABARU SUDIRMAN 2 (BUMI PUTERA) 0.383 3A SUDIRMAN 2 (BUMI PUTERA) DIPONEGORO 0.773 3A DIPONEGORO TENTARA PELAJAR 2 (SAMSAT) 0.678 3A TENTARA PELAJAR 2 (SAMSAT) JLAGRAN 0.692 3A JLAGRAN MALIOBORO 1 (GARUDA) 1.138 3A MALIOBORO 1 (GARUDA) MALIOBORO 2 (KEPATIHAN) 0.492 3A 1A 2A MALIOBORO 2 (KEPATIHAN) AHMAD YANI (BENTENG VREDEBURG) 0.517 3A 1A 2A AHMAD YANI (BENTENG VREDEBURG) KHA DAHLAN 1 (PAPPMI) 0.668 3A NGABEAN MT HARYONO 1 (JOKTENG) 1.182 3A MT HARYONO 1 (JOKTENG) SUGIYONO 1 (SD PUJOKUSUMAN) 1.416 3A SUGIYONO 1 (SD PUJOKUSUMAN) LOWANU 1.132 3A LOWANU SOROGENEN (WIROSABAN) 0.662 3A
GEDONG KUNING (BANGUNTAPAN) TEGAL GENDU 1 3.201 3B GEDONG KUNING (WONOCATUR) GEDONG KUNING (BANGUNTAPAN) 1.411 3B TEGAL GENDU 1 GIWANGAN 1.412 3B
JL. SOLO (DE BRITTO) JL. SOLO (DE BRITTO) -7.782995 110.394005 JL. SOLO (GEDUNG WANITA) JL. SOLO (GEDUNG WANITA) -7.783346 110.393972 JL. SOLO (JANTI) JL. SOLO (JANTI) -7.783101 110.411439 JL. SOLO (KALASAN) JL. SOLO (KALASAN) -7.75981 110.477357 JL. SOLO (KR.1) JL. SOLO (KR.1) -7.766571 110.472465 JL. SOLO (KR.2) JL. SOLO (KR.2) -7.775458 110.461006 JL. SOLO (MAGUWO) JL. SOLO (MAGUWO) -7.783176 110.430729
JLAGRAN JLAGRAN -7.789505 110.360195
KARANGJATI KARANGJATI -7.757004 110.369468 KATAMSO 1 (PURAWISATA) KATAMSO 1 (PURAWISATA) -7.809835 110.369318 KATAMSO 2 (IMMACULATA) KATAMSO 2 (IMMACULATA) -7.803011 110.368974 KENARI 1/KENARI 2 (MANDALA KRIDA) KENARI 1 (MANDALA KRIDA);KENARI 2 (MANDALA KRIDA) -7.797541 110.383836
KHA DAHLAN (PAPPMI/NGADIWINATAN) KHA DAHLAN 1 (PAPPMI);KHA DAHLAN 2 (NGADIWINATAN) -7.80119 110.358703
KOTABARU KOTABARU -7.784524 110.371334 KUSUMANEGARA (GEDUNG JUANG 45) KUSUMANEGARA (GEDUNG JUANG 45) -7.802283 110.400589 KUSUMANEGARA (GEMBIRALOKA) KUSUMANEGARA (GEMBIRALOKA) -7.802325 110.398715 KUSUMANEGARA (SGM) KUSUMANEGARA 3 (SGM);KUSUMANEGARA 4 (SGM) -7.802144 110.393551
KUSUMANEGARA 1 (TMP) KUSUMANEGARA 1 (TMP) -7.801865 110.383544 KUSUMANEGARA 2 (STPP) KUSUMANEGARA 2 (STPP) -7.801868 110.381746
LOWANU LOWANU -7.823185 110.378072
MALIOBORO 1 (GARUDA) MALIOBORO 1 (GARUDA) -7.790999 110.366142 MALIOBORO 2 (KEPATIHAN) MALIOBORO 2 (KEPATIHAN) -7.794975 110.365648
RS DR YAP RS DR YAP -7.78105 110.375036 RSI HIDAYATULAH RSI HIDAYATULAH -7.815511 110.387803 RSUP DR. SARDJITO RSUP DR. SARDJITO -7.770118 110.373346 SENOPATI (TAMAN PINTAR/TAMAN SENOPATI) SENOPATI 2 (TAMAN PINTAR);SENOPATI 1 (TAMAN SENOPATI) -7.801523 110.367655
SMP 5 YOGYAKARTA SMP 5 YOGYAKARTA -7.787327 110.375353
SMPN 11 SMPN 11 -7.793417 110.353187
SOROGENEN (NITIKAN) SOROGENEN (NITIKAN) -7.824928 110.379467 SOROGENEN (WIROSABAN) SOROGENEN (WIROSABAN) -7.824673 110.379499 SUDIRMAN 2 (BUMI PUTERA) SUDIRMAN 2 (BUMI PUTERA) -7.783112 110.369425 SUDIRMAN 3 (GONDOLAYU) SUDIRMAN 3 (GONDOLAYU) -7.782708 110.369017 SUDRIMAN 1 (BETHESDA) SUDRIMAN 1 (BETHESDA) -7.783154 110.377847 SUGIYONO 1 (SD PUJOKUSUMAN) SUGIYONO 1 (SD PUJOKUSUMAN) -7.814697 110.369077 SUGIYONO 2 (MUSEUM PERJUANGAN) SUGIYONO 2 (MUSEUM PERJUANGAN) -7.814921 110.370215 SUSTERAN NOVISIAT/SANTREN SUSTERAN NOVISIAT;SANTREN -7.766008 110.392159 TEGAL GENDU 1 TEGAL GENDU 1 -7.825614 110.391296 TEGAL GENDU 2 TEGAL GENDU 2 -7.825513 110.391215 TEGALTURI 1 TEGALTURI 1 -7.825821 110.388458 TEGALTURI 2 TEGALTURI 2 -7.82547 110.388082 TEJOKUSUMAN TEJOKUSUMAN -7.807858 110.355949 TENTARA PELAJAR 1 (SMP 14) TENTARA PELAJAR 1 (SMP 14) -7.786365 110.359812 TENTARA PELAJAR 2 (SAMSAT) TENTARA PELAJAR 2 (SAMSAT) -7.78713 110.359941 TERMINAL CONDONGCATUR TERMINAL CONDONGCATUR -7.757684 110.39556 TERMINAL JOMBOR TERMINAL JOMBOR -7.747478 110.362086
Lampiran 6: Source Code Kelas Graph package com.entity; import java.text.DecimalFormat; import java.util.ArrayList; import java.util.List; import java.util.StringTokenizer;
public class Graph {
private final int INFINITE = 1000000;
double edge[][];
ArrayList<String> edgeTrayek[][]; Halte daftarVertex[];
int jumlah_vertex, jumlahHalte;
int jumGraph;
int vertSkrg;
double mulaiSmpSkrg;
TemporaryJalur_n_Jarak sPath[];
public Graph(int jumlahHalte) {
this.jumlahHalte = jumlahHalte;
edge = new double[jumlahHalte][jumlahHalte];
edgeTrayek = new
ArrayList[jumlahHalte][jumlahHalte];
daftarVertex = new Halte[jumlahHalte];
jumlah_vertex = 0;
jumGraph = 0;
for (int i = 0; i < jumlahHalte; i++) {
for (int j = 0; j < jumlahHalte; j++) {
edge[i][j] = INFINITE;
edgeTrayek[i][j] = null;
} }
sPath = new TemporaryJalur_n_Jarak[112];
}
public void insertHalte(String vortex) {
Halte a = new Halte(vortex);
daftarVertex[jumlah_vertex] = a;
jumlah_vertex++;
}
public void insertJarak(String a, String b, double
nilai,
ArrayList<String> trayek) { int x = findIndex(a);
int y = findIndex(b); if (x != -1 && y != -1) {
edge[x][y] = nilai;
String paths = ""; String bantu = "";
if (sPath[tujuan].getJarak() != INFINITE) {
//
paths.push(String.valueOf(sPath[tujuan].getJarak()));
bantu = new
DecimalFormat("#.###").format(sPath[tujuan].getJarak())+":";// String.valueOf(sPath[tujuan].getJarak()) + ":";
while (tujuan != awal) {
//
/paths.push(daftarVertex[tujuan].getNama());
paths = daftarVertex[tujuan].getNama()
+ "\n" + paths;
tujuan = findIndex(daftarVertex[sPath[tujuan].getFrom()]
.getNama()); }
paths = daftarVertex[awal].getNama() + "\n"
+ paths;
paths = bantu + paths;
// paths.push(daftarVertex[awal].getNama()); }
return paths;
}
public String dijkstra(String awal, String tujuan) {
int a = findIndex(awal); int b = findIndex(tujuan);
daftarVertex[a].setInGraph(true);
jumGraph = 1;
for (int i = 0; i < jumlah_vertex; i++) {
double jarakSementara = edge[a][i];
sPath[i] = new TemporaryJalur_n_Jarak(a,
jarakSementara); }
while (jumGraph < jumlah_vertex) {
int minIndeks = getMin();
double minDist = sPath[minIndeks].getJarak(); if (minDist == INFINITE) { break; } else { vertSkrg = minIndeks; mulaiSmpSkrg = sPath[minIndeks].getJarak(); }
daftarVertex[vertSkrg].setInGraph(true);
jumGraph++;
adjust_sPath(); }
paths = daftarVertex[start].getNama() + "\n" + paths;
paths = bantu + paths;
return paths;
}
public static double[][] deepCopyIntMatrix(double[][]
input) {
if (input == null) return null;
double[][] result = new double[input.length][];
for (int r = 0; r < input.length; r++) { result[r] = input[r].clone();
}
return result;
}
public List<String> perpindahanBus2(StringTokenizer
stoken) {
List<String> answer = new ArrayList<String>(); List<String> jalurPilihan = new ArrayList<String>();
while (stoken.hasMoreElements()) {
jalurPilihan.add(stoken.nextToken("\n")); }
List<List> daftarTrayek = new ArrayList<List>(); for (int i = 0; i < jalurPilihan.size(); i++) {
if (i != 0) {
int awal =
findIndex(jalurPilihan.get(i - 1));
int tujuan =
findIndex(jalurPilihan.get(i));
daftarTrayek.add(edgeTrayek[awal][tujuan]);
} }
List<String> bantu = daftarTrayek.get(0); String baru = "";
String perpindahanHalte = "";
for (int i = 1; i < daftarTrayek.size(); i++) { baru = "";
for (int j = 0; j < bantu.size(); j++) {
for (int k = 0; k < daftarTrayek.get(i).size(); k++) {
if
(bantu.get(j).equals(daftarTrayek.get(i).get(k))) {
private boolean isInGraph;
public String getNama() {
return nama;
}
public void setNama(String nama) {
this.nama = nama; }
public boolean isInGraph() {
return isInGraph;
}
public void setInGraph(boolean isInGraph) {
this.isInGraph = isInGraph;
}
public Halte(String nama) {
this.nama = nama;
this.isInGraph = false;
} }
Lampiran 8: Source Code Kelas TemporaryJalur_n_Jarak
package com.entity;
public class TemporaryJalur_n_Jarak {
private double jarak;
private int from;
public double getJarak() {
return jarak;
}
public void setJarak(double jarak) {
this.jarak = jarak;
}
public int getFrom() {
return from;
}
public void setFrom(int from) {
this.from = from; }
public TemporaryJalur_n_Jarak(int from, double jarak) {
super();
Point p1 = new Point(); Point p2 = new Point();
Path path2 = new Path();
projection.toPixels(ppoint.get(i), p1);
projection.toPixels(ppoint.get(i-1), p2);
path2.moveTo(p2.x, p2.y); path2.lineTo(p1.x, p1.y); canvas.drawPath(path2, mPaint); } return false; } }
Lampiran 10: Source Code Kelas SitesOverlay
package com.view; import java.text.DecimalFormat; import java.util.ArrayList; import java.util.List; import java.util.StringTokenizer; 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 android.view.View; import android.widget.Button; import android.widget.Toast; import com.entity.Graph; import com.google.android.maps.GeoPoint; import com.google.android.maps.ItemizedOverlay; import com.google.android.maps.MapView; import com.google.android.maps.OverlayItem; import com.google.android.maps.Projection;
public class SitesOverlay extends ItemizedOverlay<OverlayItem>
{
private List<OverlayItem> items = new
ArrayList<OverlayItem>();
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(); }
public void addFlag(int[] itemSize) {
this.itemSize = itemSize;
}
protected boolean onTap(final int i) {
if (items.get(i).getTitle().equals("Lokasi Anda"))
{
Toast.makeText(context,
items.get(i).getTitle(), Toast.LENGTH_SHORT)
.show(); } else {
if (itemSize[i] == 0) {
AlertDialog.Builder dialog = new AlertDialog.Builder(context);
z = items.get(i).getTitle();
dialog.setTitle(z);
if (status == 0) {
dialog.setMessage("Halte awal");
x = items.get(i).getSnippet(); } else { dialog.setMessage("Halte tujuan?"); y = items.get(i).getSnippet(); }
dialog.setNegativeButton("Tidak", new OnClickListener() {
@Override
public void
onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub dialog.dismiss(); itemSize[i] = 0; } });
SYSTOOLS DEMO
buttonDetails.setVisibility(View.GONE); } else {
counter2 = i;
ArrayList<GeoPoint> geoPoints = new ArrayList<GeoPoint>();
status = 0;
items.get(i).setMarker(markerEnd);
boundCenterBottom(markerEnd);
mapView.invalidate();
String[] results = new String[2];
StringTokenizer stoken, stokenAwal, stokenTujuan, bantuToken;
stokenAwal = new StringTokenizer(x, ";");
String[] awal = new String[stokenAwal.countTokens()];
for (int i = 0; i < awal.length; i++) {
awal[i] = new String(); awal[i] = stokenAwal.nextToken(); } stokenTujuan = new StringTokenizer(y, ";"); String[] tujuan = new String[stokenTujuan .countTokens()]; for (int i = 0; i < tujuan.length; i++) {
tujuan[i] = new String(); tujuan[i] = stokenTujuan.nextToken(); } double bantuJarak = -1; if
(param.equals("DIJKSTRA")) {
for (int i = 0; i < awal.length; i++) {
for (int i = 0; i < awal.length; i++) {
for (int
j = 0; j < tujuan.length; j++) {
startTime = System.nanoTime();
bantuToken = new StringTokenizer(graph
.floyd(awal[i], tujuan[j]),
":");
finishTime = System.nanoTime();
String jarak=bantuToken.nextToken(); jalur=bantuToken.nextToken();
if (bantuJarak == -1) {
bantuJarak = Double.parseDouble(jarak);
stoken = bantuToken; results[0] = String .valueOf(bantuJarak); results[1] = jalur; } else { if (bantuJarak > Double .parseDouble(jarak)) { bantuJarak = Double .parseDouble(jarak); stoken = bantuToken; results[0] = String .valueOf(bantuJarak); results[1] = jalur; } } } } }
SYSTOOLS DEMO
if (bantu.equals(items.get(i).getTitle())) {
items.get(i).setMarker(markerChange);
boundCenterBottom(markerChange); counter3 = i; } } } String saran = ""; for (int i = 0; i < trayeks.size() - 1; i++) { saran = saran + trayeks.get(i) + "\n"; }
final String paths =
path;
final String jarak =
results[0];
final String sarans
= saran;
buttonDetails.setVisibility(View.VISIBLE);
buttonDetails
.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
AlertDialog.Builder dialog = new AlertDialog.Builder(
context); dialog.setTitle("Details by " + param + " Algorithm"); dialog.setMessage("JARAK: " + jarak + " km\nTIME ELAPSED: "
SYSTOOLS DEMO
@Override
public void
onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub dialog.dismiss(); } }); dialog.show(); } } return true; } }
Lampiran 11: Source Code Kelas Help
package com.example.skripsi;
import android.app.Activity;
import android.os.Bundle;
public class Help extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.help); }
@Override
public void onBackPressed() {
// TODO Auto-generated method stub
finish();
System.exit(0);
super.onBackPressed();
} }
Lampiran 12: Source Code Kelas MainActivity
package com.example.skripsi;
import android.app.Activity;
import android.content.Intent;
} }); }
}
Lampiran 13: Source Code Kelas Map
package com.example.skripsi; import java.io.IOException; import java.io.InputStream; import java.util.ArrayList; import java.util.List; import jxl.Sheet; import jxl.Workbook; import jxl.read.biff.BiffException; import android.app.AlertDialog; import android.content.Context; import android.graphics.drawable.Drawable; import android.location.Criteria; import android.location.Location; import android.location.LocationListener; import android.location.LocationManager; import android.os.Bundle; import android.view.Menu; import android.view.View; import android.widget.ArrayAdapter; import android.widget.AutoCompleteTextView; import android.widget.Button; import android.widget.LinearLayout; import com.entity.Graph; 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.MapView.LayoutParams; import com.google.android.maps.MyLocationOverlay; import com.google.android.maps.Overlay; import com.google.android.maps.OverlayItem; import com.view.SitesOverlay;
public class Map extends MapActivity {
MapView mapView = null; MyLocationOverlay me = null; MapController mapController;
SitesOverlay sitesOverlays, sitesOverlay2; Graph graph;
Button buttonDetails;
for (int i = 3; i <
sheet2.getColumns(); i++) {
trayek.add(sheet2.getCell(i,
j).getContents());
}
graph.insertJarak(sheet2.getCell(0,
j).getContents(), sheet2
.getCell(1, j).getContents(), Double.parseDouble(sheet2
.getCell(2, j).getContents()), trayek); } } catch (BiffException e) { e.printStackTrace(); } catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace(); }
autoText = (AutoCompleteTextView)
findViewById(R.id.editText1);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
R.layout.mydropdownstyle, namaHalte);
autoText.setThreshold(1);
autoText.setAdapter(adapter);
Button cariButton = (Button) findViewById(R.id.button1);
cariButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
int flag = -1;
for (int i = 0; i <
sitesOverlay2.size(); i++) {
if
(sitesOverlay2.getItem(i).getTitle()
.equalsIgnoreCase(autoText.getText().toString())) { flag = 1;
mapController.animateTo(sitesOverlay2.getItem(i)
.getPoint());
autoText.setText("");
break;
} }
System.out.println(flag); if (flag == -1) {
Drawable iconChangeHalte = getResources().getDrawable( R.drawable.halte_change); iconHalte.setBounds(0, 0, iconHalte.getIntrinsicWidth(), iconHalte.getIntrinsicHeight()); iconStart.setBounds(0, 0, iconStart.getIntrinsicWidth(), iconStart.getIntrinsicHeight()); iconEnd.setBounds(0, 0, iconEnd.getIntrinsicWidth(), iconEnd.getIntrinsicHeight()); iconChangeHalte.setBounds(0, 0, iconChangeHalte.getIntrinsicWidth(), iconChangeHalte.getIntrinsicHeight());
sitesOverlay2 = new SitesOverlay(iconHalte,
iconStart, iconEnd, graph,
buttonDetails, Map.this, mapView,
param, iconChangeHalte);
for (int j = 0; j < sheet3.getRows(); j++) {
Double latitudeHalte1 = Double.parseDouble(sheet3.getCell(2, j)
.getContents()) * 1E6;
Double longitudeHalte1 = Double.parseDouble(sheet3.getCell(3, j)
.getContents()) * 1E6;
GeoPoint pointHalte1 = new GeoPoint(latitudeHalte1.intValue(),
longitudeHalte1.intValue()); OverlayItem halte1 = new OverlayItem(pointHalte1, sheet3.getCell(0,
j).getContents(),
sheet3.getCell(1, j).getContents());
sitesOverlay2.addItem(halte1);
}
int[] items = new int[sitesOverlay2.size()]; for (int i = 0; i < items.length; i++) {
items[i] = 0; }
sitesOverlay2.addFlag(items);
overlays = mapView.getOverlays();
overlays.add(sitesOverlay2);
String provider = locationManager.getBestProvider(criteria, true);
Overlay bantu2=null;
// System.out.println(overlays.get(0);
if (overlays.size() == 2) {
overlays.remove(1);
overlays.add(sitesOverlays);
} else if (overlays.size() == 3) {
bantu = overlays.get(2);
overlays.remove(2);
overlays.remove(1);
overlays.add(sitesOverlays);
overlays.add(bantu);
} else {
overlays.add(sitesOverlays);
}
mapController.animateTo(myPoint);
System.out.println(overlays.size()); }
}
private final LocationListener locationListener = new
LocationListener() {
@Override
public void onStatusChanged(String provider, int
status, Bundle extras) {
// TODO Auto-generated method stub
}
@Override
public void onProviderEnabled(String provider) {
// TODO Auto-generated method stub
}
@Override
public void onProviderDisabled(String provider) {
// TODO Auto-generated method stub
updateNewLocation(null); }
@Override
public void onLocationChanged(Location location) {
// TODO Auto-generated method stub
updateNewLocation(location); }
};
@Override
protected boolean isRouteDisplayed() {
// TODO Auto-generated method stub