百度地图 SDK 不仅为广大开发人员提供了炫酷的地图展示效果、丰富的覆盖物图层,更为广大开发人员提供了多种 LBS 检索的能力。

通过这些接口,开发人员能够轻松的訪问百度的 LBS 数据,丰富自己的移动端地图应用。

眼下百度地图 SDK 为开发人员提供的检索服务有:

POI 检索:能够检索百度 POI 数据信息;

线路规划:利用百度的引擎帮助开发人员规划线路。

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

本文将以一个非常easy的 POI 城市内检索为例,像广大开发人员介绍接口的使用。

第一步。选择并下载 SDK。

这个样例我们仅仅使用检索功能,因此我们到百度 LBS 开放平台的 Android 的统一资源下载平台下载检索功能模块就能够了,详细地址例如以下:http://lbsyun.baidu.com/sdk/download

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvY2FsbG1lc2Vu/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

第二步。创建 Android project,并将下载好的 SDK 导入project中;

导入完毕后效果例如以下图所看到的:

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

第四步。在 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 }
};

如上的监听方法是将结果中得第一条信息进行了展示,运行程序例如以下图效果:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvY2FsbG1lc2Vu/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">



到这,我们就实现了利用百度地图 Android SDK 的一个最简单的 POI 检索演示样例。很多其它功能欢迎大家登陆我们的官方站点进行查询。谢谢!

http://developer.baidu.com/map/index.php?title=androidsdk

百度 LBS 开放平台向广大开发人员推出开发人员众測计划,參与我们的研发測试,第一时间体验我们新产品的功能,提 BUG 还能获奖,是不是非常爽呢?。~

具体信息请參考:http://bbs.lbsyun.baidu.com/viewthread.php?tid=15300&extra=page%3D1

百度地图 Android SDK - 检索功能使用的简单演示样例的更多相关文章

  1. 百度地图 Android SDK - Hello Baidu Map

    例如,给广大以下主要开发者介绍了如何使用百度地图Android SDK构造的主应用程序的地图! 第一步.创建Androidproject,将百度地图Android SDK的开发包导入到project对 ...

  2. 百度地图 Android SDK - 标注(Marker)的基本使用

    标注(Marker)是开发人员最常使用的地图覆盖物志一.今天就来向大家介绍一些标注(Marker)的最基本用法! 实现目标: 1.构建基础地图页面: 2.在地图的中心点处加入 Marker: 3.实现 ...

  3. Android学习-- 基于位置的服务 LBS(基于百度地图Android SDK)--定位SDK

    原文:Android学习-- 基于位置的服务 LBS(基于百度地图Android SDK)--定位SDK 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.ne ...

  4. 百度地图 Android SDK - 新的版本号(v3.2.0)正式上线

    百度地图 Android SDK v3.2.0 在版本号 2014 年 11 月 07 日本正式推出工作完成! watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQ ...

  5. Android通过startService播放背景音乐简单演示样例

    关于startService的基本使用概述及其生命周期可參见博客<Android中startService的使用及Service生命周期>. 本文通过播放背景音乐的简单演示样例,演示sta ...

  6. 百度地图 Android SDK - 个性化地图

    什么是百度个性化地图Android SDK? 百度个性化地图Android SDK是一套基于Android 2.2及以上版本号设备的应用程序接口,您能够通过该套接口实现主要的地图功能,而且能够定制地图 ...

  7. [Android]RecyclerView的简单演示样例

    去年google的IO上就展示了一个新的ListView.它就是RecyclerView. 下面是官方的说明,我英语能力有限,只是我大概这么理解:RecyclerView会比ListView更具有拓展 ...

  8. 虚幻4Matinee功能 基本概念及简单演示样例(Sequence编辑器)

    虚幻4提供的Matinee功能十分强大,能够用来制作动画.录制视频. 它的核心想法是在Matinee编辑器内提供一套自己的时间坐标系,在这个相对时间内通过调节actor的属性来改变actor的状态,进 ...

  9. 利用百度地图Android sdk高仿微信发送位置功能

    接触了百度地图开发平台半个月了,这2天试着模仿了微信给好友发送位置功能,对百度地图的操作能力又上了一个台阶 (假设须要完整demo.请评论留下邮箱) (眼下源代码已经不发送,假设须要源代码.加qq31 ...

随机推荐

  1. HDU2111 Saving HDU 【贪心】

    Saving HDU Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total ...

  2. 【hoj】1604 cable master

    简单,二分法,可是在oj上交的时候会有精度的限制,所以仅仅能把数扩得大一点,并且在扩的时候为防止尾数会自己主动生成一些非零数,所以还是自己吧扩到的位置设置为0,还有输出时由于%.2lf会自己有4设5入 ...

  3. Linux查看网络即时网速

    sar -n DEV 1 100 1代表一秒统计并显示一次 100代表统计一百次 使用ntop等工具,就更方便简单了,不过这个更灵活 P.S. sar在sysstat包 来源:http://www.c ...

  4. java开发之基础篇2

    一.java开发环境的搭建 下载和安装jdk.版本自己看着办! 1 JAVA_HOME C:\Program Files\Java\jdk1.7.0_25 2 path C:\Program File ...

  5. HTTP 错误 404.17 - Not Found 请求的内容似乎是脚本,因而将无法由静态文件处理程序来处理。

    异常信息: 解决方案:        检查一下ASP.NET有没有安装: 控制面板>程序和功能>打开或关闭Windows功能 > Internet信息服务 > 万维网服务 &g ...

  6. ControlStyles(枚举)

    指定控件的样式和行为. 此枚举有一个 FlagsAttribute 特性,通过该特性可使其成员值按位组合.属性: ContainerControl:如果为true,则控件是类似容器的控件. UserP ...

  7. java web实现img读取盘符下的图像

    最近做了一个项目,用户上传图片后通过img控件显示出来.大家都知道img通过src属性就可以显示图片.如<img src="http://127.0.0.1/a/b/abc.jpg&q ...

  8. asp.net从服务器(指定文件夹)下载任意格式的文件到本地

    一.我需要从服务器下载ppt文件到本地 protected void Btn_DownPPT_Click(object sender, EventArgs e)        {            ...

  9. va_list/va_start/va_arg/va_end深入分析

    http://www.cnblogs.com/justinzhang/archive/2011/09/29/2195969.html

  10. arry()数组的理解及api的使用(二)

    注意:本文都来自于w3school中文网,如果需要完整版请去--http://www.w3school.com.cn/jsref/jsref_obj_array.asp 1.1 slice() 方法- ...