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

时间:2022-01-31 22:49:28

百度地图 sdk 不仅为广大开发者提供了炫酷的地图展示效果、丰富的覆盖物图层,更为广大开发者提供了多种 lbs 检索的能力。通过这些接口,开发者可以轻松的访问百度的 lbs 数据,丰富自己的移动端地图应用。

目前百度地图 sdk 为开发者提供的检索服务有:

poi 检索:可以检索百度 poi 数据信息;

线路规划:利用百度的引擎帮助开发者规划线路;

在线建议检索、短链接分享、地理编码等等....

本文将以一个很简单的 poi 城市内检索为例,像广大开发者介绍接口的使用。

第一步,选择并下载 sdk;

这个例子我们只使用检索功能,因此我们到百度 lbs 开放平台的 android 的统一资源下载平台下载检索功能模块就可以了,具体地址如下:http://lbsyun.baidu.com/sdk/download

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

第二步,创建 android 工程,并将下载好的 sdk 导入工程中;

导入完成后效果如下图所示:

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

第三步,设计应用程序的交互界面;

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

第四步,在 androidmanifest 中添加所需权限和 sdk 开发所需要的 key;

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<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 的点击响应中,添加真正的检索执行代码,如下所示:

?
1
2
3
4
5
6
7
8
9
10
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);
}
});

补充一下监听方法的实现,如下所示:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
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城市内检索简介接口的使用

以上所述是小编给大家介绍的android sdk 百度地图通过poi城市内检索简介接口的使用,希望对大家有所帮助。