-
Notifications
You must be signed in to change notification settings - Fork 15
/
showMaps.java
91 lines (64 loc) · 2.64 KB
/
showMaps.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
package com.DJAndroid.getDirection;
import java.util.ArrayList;
import org.w3c.dom.Document;
import android.graphics.Color;
import android.os.Bundle;
import com.google.android.gms.maps.CameraUpdate;
import com.google.android.gms.maps.CameraUpdateFactory;
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.SupportMapFragment;
import com.google.android.gms.maps.model.LatLng;
import com.google.android.gms.maps.model.MarkerOptions;
import com.google.android.gms.maps.model.PolylineOptions;
public class showMaps extends AbstractMapActivity {
private GoogleMap map;
private String selectedFrom_lat;
private String selectedFrom_long;
private String selectedTo_lat;
private String selectedTo_long;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
if (readyToGo()) {
setContentView(R.layout.showmaps);
selectedFrom_lat = getIntent().getStringExtra("spFrom_lat");
selectedFrom_long = getIntent().getStringExtra("spFrom_long");
selectedTo_lat = getIntent().getStringExtra("spTo_lat");
selectedTo_long = getIntent().getStringExtra("spTo_long");
double from_lat = Double.parseDouble(selectedFrom_lat);
double from_long = Double.parseDouble(selectedFrom_long);
double To_lat = Double.parseDouble(selectedTo_lat);
double To_long = Double.parseDouble(selectedTo_long);
SupportMapFragment mapFrag = (SupportMapFragment) getSupportFragmentManager()
.findFragmentById(R.id.map);
map = mapFrag.getMap();
if (savedInstanceState == null) {
CameraUpdate center = CameraUpdateFactory.newLatLng(new LatLng(
from_lat, from_long));
CameraUpdate zoom = CameraUpdateFactory.zoomTo(15);
map.moveCamera(center);
map.animateCamera(zoom);
}
addMarker(map, from_lat, from_long, "Start", "start from here!");
addMarker(map, To_lat, To_long, "End", "end from here!");
LatLng fromPosition = new LatLng(from_lat, from_long);
LatLng toPosition = new LatLng(To_lat, To_long);
GMapV2Direction md = new GMapV2Direction();
Document doc = md.getDocument(fromPosition, toPosition,
GMapV2Direction.MODE_DRIVING);
ArrayList<LatLng> directionPoint = md.getDirection(doc);
PolylineOptions rectLine = new PolylineOptions().width(3).color(
Color.RED);
for (int i = 0; i < directionPoint.size(); i++) {
rectLine.add(directionPoint.get(i));
}
map.addPolyline(rectLine);
}
}
private void addMarker(GoogleMap map, double lat, double lon,
String string, String string2) {
map.addMarker(new MarkerOptions().position(new LatLng(lat, lon))
.title(string).snippet(string2));
}
}