百度地圖 SDK 不僅為廣大開發者提供了炫酷的地圖展示效果、豐富的覆蓋物圖層,更為廣大開發者提供了多種 LBS 檢索的能力。通過這些接口,開發者可以輕松的訪問百度的 LBS 數據,豐富自己的移動端地圖應用。
目前百度地圖 SDK 為開發者提供的檢索服務有:
POI 檢索:可以檢索百度 POI 數據信息;
線路規劃:利用百度的引擎幫助開發者規劃線路;
在線建議檢索、短鏈接分享、地理編碼等等....
本文將以一個很簡單的 POI 城市內檢索為例,像廣大開發者介紹接口的使用。
第一步,選擇并下載 SDK;
這個例子我們只使用檢索功能,因此我們到百度 LBS 開放平臺的 Android 的統一資源下載平臺下載檢索功能模塊就可以了,具體地址如下:http://lbsyun.baidu.com/sdk/download

第二步,創建 Android 工程,并將下載好的 SDK 導入工程中;
導入完成后效果如下圖所示:

第三步,設計應用程序的交互界面;

第四步,在 AndroidManifest 中添加所需權限和 SDK 開發所需要的 Key;
<uses-permission android:name="android.permission.GET_ACCOUNTS" /> <uses-permission android:name="android.permission.USE_CREDENTIALS" /> <uses-permission android:name="android.permission.MANAGE_ACCOUNTS" /> <uses-permission android:name="android.permission.AUTHENTICATE_ACCOUNTS" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="com.android.launcher.permission.READ_SETTINGS" /> <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <uses-permission android:name="android.permission.READ_PHONE_STATE" /><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.BROADCAST_STICKY" /><uses-permission android:name="android.permission.WRITE_SETTINGS" /> <uses-permission android:name="android.permission.READ_PHONE_STATE" /><meta-data android:name="com.baidu.lbsapi.API_KEY" android:value="GBm9SbM00C7Cd6vFi2evzSgK" />
注意上面的 key 請開發者換成自己申請的 key,具體方法請參考之前的博客介紹。
第五步,編程;
分別定義三個變量,PoiSearch、PoiCitySearchOption、OnGetPoiSearchResultListener。從這三個名字大家也能看得出,這三個變量分別是檢索對象、檢索參數和檢索結果的監聽方法。
在執行 POI 檢索之前,需要先初始化 PoiSearch 對象,方法如下:
poiSearch = PoiSearch.newInstance();
初始化完成之后,緊接著需要設置它的監聽方法,注意 SDK 中所有的檢索請求都是異步實現的,代碼如下:
poiSearch.setOnGetPoiSearchResultListener(onGetPoiSearchResultListener);
準備工作完成后,我們在 Button 的點擊響應中,添加真正的檢索執行代碼,如下所示:
button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View arg0) { // TODO Auto-generated method stub poiCitySearchOption = new PoiCitySearchOption() .city(city.getText().toString()) .keyword(keyword.getText().toString()); poiSearch.searchInCity(poiCitySearchOption); } });補充一下監聽方法的實現,如下所示:
OnGetPoiSearchResultListener onGetPoiSearchResultListener = new OnGetPoiSearchResultListener() { @Override public void onGetPoiResult(PoiResult poiResult) { // TODO Auto-generated method stub String poiname = poiResult.getAllPoi().get(0).name; String poiadd = poiResult.getAllPoi().get(0).address; String idString = poiResult.getAllPoi().get(0).uid; textView.setText( "第一條結果是:/n名稱=["+ poiname+ "]/nID = ["+ idString + "] /n地址=["+ poiadd+ "]"); } @Override public void onGetPoiDetailResult(PoiDetailResult arg0) { // TODO Auto-generated method stub } }; 如上的監聽方法是將結果中得第一條信息進行了展示,執行程序如下圖效果:

以上所述是小編給大家介紹的Android SDK 百度地圖通過poi城市內檢索簡介接口的使用,希望對大家有所幫助。
新聞熱點
疑難解答
圖片精選