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