Android SDK 百度地图通过poi城市内检索简介接口的使用


百度地图 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城市内检索简介接口的使用,希望对大家有所帮助。


« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3