KC10880106-i03百度地圖SDK for Android【Demo路徑規(guī)劃】_第1頁
KC10880106-i03百度地圖SDK for Android【Demo路徑規(guī)劃】_第2頁
KC10880106-i03百度地圖SDK for Android【Demo路徑規(guī)劃】_第3頁
KC10880106-i03百度地圖SDK for Android【Demo路徑規(guī)劃】_第4頁
KC10880106-i03百度地圖SDK for Android【Demo路徑規(guī)劃】_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、百度地圖SDK for Android【Demo路徑規(guī)劃】今天我將給大家分享路徑規(guī)劃接口的使用。首先,我們要構(gòu)建一個最基本的地圖應(yīng)用第一步,修改布局文件,添加用于輸入起點(diǎn)、終點(diǎn)的輸入框已經(jīng)執(zhí)行路徑規(guī)劃操作的按鈕。代碼如下所示:<RelativeLayout xmlns:android=" xmlns:tools=" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity&q

2、uot; > <!- 放入百度地圖的mapview -> <com.baidu.mapapi.map.MapView android:id="+id/bmapsView" android:layout_width="fill_parent" android:layout_height="fill_parent" android:clickable="true" /> <LinearLayout android:id="+id/linearLayout1" an

3、droid:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentTop="true" android:layout_toLeftOf="+id/button1"> <!- 起點(diǎn)輸入框 -> <EditText android:id="+id/editText1

4、" android:layout_width="wrap_content" android:layout_height="wrap_content" android:ems="50" android:layout_weight="1" android:hint="請輸入起點(diǎn)"> </EditText> <!- 終點(diǎn)輸入框 -> <EditText android:id="+id/editText2" android:layout_

5、width="wrap_content" android:layout_height="wrap_content" android:ems="50" android:layout_weight="1" android:hint="請輸入終點(diǎn)"> </EditText> </LinearLayout> <!- 搜索執(zhí)行按鈕 -> <Button android:id="+id/button1" android:layout_wid

6、th="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:layout_alignParentTop="true" android:text="搜索" /></RelativeLayout>第二步,在主程序中定義并初始化以上控件(地圖控件、輸入框控件和按鈕控件)。代碼如下:/ 初始化mapview對象,并且設(shè)置顯示縮放控件mapVie

7、w = (MapView) findViewById(R.id.bmapsView);mapView.setBuiltInZoomControls(true);/ 初始化起點(diǎn)、終點(diǎn)輸入框及搜索按鈕startEditText = (EditText) findViewById(R.id.editText1);endEditText = (EditText) findViewById(R.id.editText2);button = (Button) findViewById(R.id.button1);第三步,定義檢索所需的對象和用于監(jiān)聽檢索結(jié)果的對象,并實(shí)現(xiàn)監(jiān)聽方法。代碼如下:注意:路徑規(guī)劃實(shí)

8、際上也是一種特殊的空間檢索,因此監(jiān)聽對象和Poi檢索的是一樣的/ 定義路徑搜索對象MKSearch mkSearch = null;/ 結(jié)果監(jiān)聽對象MKSearchListener mkSearchListener = new MKSearchListener() Overridepublic void onGetWalkingRouteResult(MKWalkingRouteResult arg0, int arg1) / TODO Auto-generated method stubif (arg1 != 0 | arg0 = null) Toast.makeText(MainActiv

9、ity.this, "抱歉,未找到結(jié)果", Toast.LENGTH_SHORT).show();return;RouteOverlay routeOverlay = new RouteOverlay(MainActivity.this, mapView); / 此處僅展示一個方案作為示例 routeOverlay.setData(arg0.getPlan(0).getRoute(0); mapView.getOverlays().clear(); mapView.getOverlays().add(routeOverlay); mapView.refresh(); map

10、View.getController().animateTo(arg0.getStart().pt); Overridepublic void onGetTransitRouteResult(MKTransitRouteResult arg0, int arg1) / TODO Auto-generated method stubOverridepublic void onGetSuggestionResult(MKSuggestionResult arg0, int arg1) / TODO Auto-generated method stubOverridepublic void onGe

11、tPoiResult(MKPoiResult arg0, int arg1, int arg2) / TODO Auto-generated method stubOverridepublic void onGetPoiDetailSearchResult(int arg0, int arg1) / TODO Auto-generated method stubOverridepublic void onGetDrivingRouteResult(MKDrivingRouteResult arg0, int arg1) / TODO Auto-generated method stubOver

12、ridepublic void onGetBusDetailResult(MKBusLineResult arg0, int arg1) / TODO Auto-generated method stubOverridepublic void onGetAddrResult(MKAddrInfo arg0, int arg1) / TODO Auto-generated method stub;以上代碼主要實(shí)現(xiàn)了對步行路徑規(guī)劃的事件監(jiān)聽,本示例也是針對步行檢索所展開的,開發(fā)者可根據(jù)自身的實(shí)際需求實(shí)現(xiàn)各方法的具體操作。第四步,初始化檢索對象(與Poi檢索的方法相同)。代碼如下:/ 初始化檢索對象

13、mkSearch = new MKSearch();mkSearch.init(bMapManager, mkSearchListener);第五步,實(shí)現(xiàn)button的點(diǎn)擊實(shí)現(xiàn),即首先判斷用戶輸入的關(guān)鍵字是否為空,不為空才開始執(zhí)行檢索。代碼如下:/ 設(shè)置button的點(diǎn)擊事件,先判斷起點(diǎn)終點(diǎn)是否為空,不為空就開始執(zhí)行步行檢索button.setOnClickListener(new OnClickListener() Overridepublic void onClick(View v) / TODO Auto-generated method stubString start = start

14、EditText.getText().toString();String end = endEditText.getText().toString();if(start.equals("") | end.equals("")Toast.makeText(MainActivity.this, "起點(diǎn)或終點(diǎn)不可為空!", Toast.LENGTH_SHORT).show();else MKPlanNode startNode = new MKPlanNode();startN = start;MKPlanNode endNode = new MKPlanNode();endNode

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論