android源代码学习路径查询
可以通过RasterMap的getDirection()方法来查询路径,和查询地址类似,路径查询的结果也是通过回调函数的方式来通知应用程序的,下面的例子返回南京到北京的路径。返回结果存放在MapDirection中,MapDirection包含了路径的详细信息,包括路径的每个步骤,长度,时间,方向等。
Java代码
1 packageeoe.demo;
2
3
4
5 importcom.mapdigit.gis.MapDirection;
6
7 importcom.mapdigit.gis.MapPoint;
8
9 importcom.mapdigit.gis.geometry.GeoLatLng;
10
11 importcom.mapdigit.gis.service.IRoutingListener;
12
13 importcom.pstreets.gisengine.R;
14
15 importcom.pstreets.gisengine.SharedMapInstance;
16
17
18
19 importandroid.app.Activity;
20
21 importandroid.os.Bundle;
22
23 importandroid.view.Menu;
24
25 importandroid.view.MenuInflater;
26
27 importandroid.view.MenuItem;
28
29
30
31 publicclassMapRoutingextendsActivityimplementsIRoutingListener{
32
33
34
35 @Override
36
37 publicvoidonCreate(BundlesavedInstanceState){
38
39 super.onCreate(savedInstanceState);
40
41 setContentView(R.layout.main);
42
43 }
44
45
46
47 @Override
48
49 publicvoidonStart(){
50
51 super.onStart();
52
53 GeoLatLngcenter=newGeoLatLng(32.0616667,118.7777778);
54
55 SharedMapInstance.map.setCenter(center,15,
56
57 com.mapdigit.gis.raster.MapType.MICROSOFTCHINA);
58
59 SharedMapInstance.map.setRoutingListener(this);
60
61
62
63 }
64
65
66
67 @Override
68
69 publicbooleanonCreateOptionsMenu(Menumenu){
70
71 MenuInflaterinflater=getMenuInflater();
72
73 inflater.inflate(R.menu.maprouting_menu,menu);
74
75 returntrue;
76
77 }
78
79
80
81 @Override
82
83 publicbooleanonOptionsItemSelected(MenuItemitem){
84
85 //Handleitemselection
86
87 switch(item.getItemId()){
88
89 caseR.id.getdirection:
90
91 Stringname1="南京";
92
93 Stringname2="北京";
94
95 SharedMapInstance.map.getDirections("from:"+name1+"to:"
96
97 +name2);
98
99
100
101returntrue;
102
103
104
105default:
106
107returnsuper.onOptionsItemSelected(item);
108
109}
110
111
112
113}
114
115
116
117@Override
118
119publicvoiddone(Stringquery,MapDirectionresult){
120
121if(result!=null){
122
123SharedMapInstance.map.setMapDirection(result);
124
125SharedMapInstance.map.resize(result.getBound());
126
127SharedMapInstance.map.zoomOut();
128
129SharedMapInstance.map.zoomOut();
130
131
132
133}
134
135
136
137}
138
139
140
141@Override
142
143publicvoidreadProgress(intbytes,inttotal){
144
145
146
147}
148
149
150
151}
152
注:文章刊于IT在线教育领跑者——麦子学院http://www.maziedu.com,转载请注明出处。