`
huobengluantiao8
  • 浏览: 1026877 次
文章分类
社区版块
存档分类
最新评论

[010] 百度地图API之根据经纬度查询地址信息(Android)

 
阅读更多

本文主要讲解如何通过百度地图API根据某个经纬度值(地理坐标)查询对应的地址信息以及该地址周边的POI(Point of Interest,兴趣点)信息。
百度地图移动版API不仅包含构建地图的基本接口,还集成了众多搜索服务,包括:位置检索、周边检索、范围检索、公交检索、驾乘检索、步行检索、地址信息查询等。
百度地图移动版API提供的搜索服务主要是通过初始化MKSearch类,注册搜索结果的监听对象MKSearchListener来实现异步搜索服务。首先需要自定义一个MySearchListener类,它实现MKSearchListener接口,然后通过实现接口中不同的回调方法,来获得对应的搜索结果。MySearchListener类的定义如下:

说明:上面的类定义只是在说明MKSearchListener类的5个方法的作用,全都是空实现,并未给出具体的实现。根据你要检索的内容,再去具体实现上面对应的方法,就能获取到搜索结果。例如:1)你想通过一个地理坐标(经纬度值)来搜索地址信息,那么只需要具体实现上面的onGetAddrResult()方法就能得到搜索结果;2)如果你想搜索驾车路线信息,只需要具体实现onGetDrivingRouteResult()方法就能得到搜索结果。

紧接着,需要初始化MKSearch类:

经过上面两步之后,就可以通过调用MKSearch所提供的一些检索方法来搜索你想要的信息了。
下面给出一个具体的示例:根据某个经纬度值(地理坐标)查询对应的地址信息以及该地址周边的POI(Point of Interest,兴趣点)信息。
1)布局文件res/layout/query_address.xml

2)继承com.baidu.mapapi.MapActivity的Activity类

3)AndroidManifest.xml中的配置

4)运行结果截图及说明

程序在模拟器上运行的初始效果如上图所示。可以看出,地图并没有显示出来,这和我们在设计时布局时所设想的一样;另外两个输入框中也分别显示了默认给出的经纬度值。
点击“地址查询”按钮后,将看到如下图所示包含了查询结果的界面:

说明:图上的“贵州省贵阳市云岩区普陀路”正是我们要查询的地理坐标(经度:106.720397,纬度:26.597239)所对应的地址信息;同时该地址信息下方还显示出了该地址附近的10个兴趣点(POI),每个兴趣点分别包含了“名称”、“地址”、“经纬度”、“电话”、“邮编”和“兴趣点类型”信息。

备注:如果本文的示例继续做下去,就应该将MapView显示出来,同时结合第8篇文章“[008] 百度地图API之ItemizedOverlay的使用(Android)”所介绍的内容将地址信息和兴趣点标注在地图上。我想这两方面的内容都已做过详细讲解并给出了示例,再来实现这个应该并不是什么难事,看文章的你就动动手来完成它吧!

分享到:
评论

相关推荐

    android 百度地图api 经纬度

    android 百度地图api 经纬度,一个基于百度地图api 获取经纬度的小例子,解决了用gps定位为null的问题,简单实用,决对可用

    使用百度地图api实现根据地址查询经纬度

    根据地址查询经纬度</title>  <meta http-equiv=”Content-Type” content=”text/html; charset=utf-8″>  [removed][removed] </head> <body style=”background:#CBE1FF”>  <div ...

    最新版百度地图api,根据位置获取所在地的经纬度并定位

    根据最新版的百度地图api手写的一个demo,项目名称和appkey已配置好,可直接调试或使用,若想使用到自己项目中,直接替换即可,本demo主要根据所在位置获取经纬度,并根据经纬度定位,比较适合新手,仅供参考,若有...

    腾讯地图经纬度转换为百度地图经纬度PHP类.zip

    百度地图BD09坐标腾讯地图用的也是GCJ02坐标@param double $lat 纬度@param double $lng 经度百度地图BD09坐标---->中国正常GCJ02坐标腾讯地图用的也是GCJ02坐标@param double $lat 纬度@param double $lng 经度@...

    百度地图地址批量转换计算距离和获取定位城市

    这个也是找了好久没找到,自己最近项目需要,也是研究之后写成了jar包,...里面有邮箱如有什么疑问可以发邮件,有时间一定解决,拿到测试代码需要 申请百度key,里面有文档说明,相信一看你都会。测试代码写的很清楚。

    Android百度地图服务(定位,路径规划,步行,骑行导航)

    基于百度地图api的服务,包含路径规划,输入地址获取目标经纬度,导航,定位等服务。

    android 基于百度地图api开发定位以及获取详细地址

    源码 博文链接:https://104zz.iteye.com/blog/1681845

    Android通过原生方式获取经纬度与城市信息的方法

    用第三方SDK定位,如百度地图、高德地图、谷歌地图; 用Android原生SDK中的api定位; 本文讲述定位的第二种方式–用Android原生的SDK中的api定位,如果项目定位要求较高还是建议使用第三方地图库。 二、Android...

    基于android和百度地图API的旅行日志程序及方案的设计与实现

    本文旨在为使用基于Android操作系统的移动设备(如手机、平板电脑等)的用户提供一种准确、方便的定位系统,可以通过经纬度信息,甚至仅仅是地名,就能在地图上找到该地的地理位置。然后通过截图存储,把使用者所到...

    微信小程序 腾讯地图显示偏差问题解决

    在小程序中使用map组件,可以调用腾讯地图的API,将一些固定的点标记到地图界面上,点的经纬度获取是通过android端百度地图API获取的,所以此时将这个位置点信息直接设置上去会出现偏差,而且偏差还比较大 ...

    Android GPS获取当前经纬度坐标

    APP中可能会遇到一种需求,就是将当前所在位置的坐标传到服务器上,今天我提供三种途径去获取经纬度坐标信息,第一种是通过Android API来实现,第二种通过百度地图API来实现,第三种通过天地图API来实现。...

    Android手机GPS定位开发

    android 百度地图api 经纬度,一个基于百度地图api 获取经纬度的小例子,解决了用gps定位为null的问题,简单实用,决对可用

    自己做的百度定位.rar

    申请百度定位开发者,通过第三方百度地图API中的SDK开发,调用百度定位,可以一次性获取当前位置经纬度以及详细地址信息,还可以获取周边POI信息,实现百度定位的基本应用的Android项目

    android百度地图3.0轨迹播放

    用的是百度地图3.0的api,是一个简单的功能,通过已经准备好的经纬度点,绘制轨迹图,然后再将轨迹播放出来。使用的方法也很简单,通过生成一个Marker,然后按照之前的经纬度点去移动,如果会做的话,就不用下载了。

    Android例子源码后台定时定位开机自启

    (第三方地图API的选择,具体还要根据自己的项目要求来选择)言归正传,现在就说说百度的定位API 吧 (该文章,主要是讲定位的,所以就单独说说,百度的定位API 接口)百度定位API,是 GPS 基站 WIFI IP混合定位,...

    基于百度地图SDK实现的基础定位功能小demo.zip

    基于百度地图实现的基础定位功能的Android Studio项目,能获取到经纬度,以及具体的省份和城市,街道,也能判断是以什么样的方式,能将自己的位置显示在地图上。当然前提是将项目在真机上跑,在虚拟机上跑是没有效果...

    后台定时定位开机自启系统.zip

    (第三方地图API的选择,具体还要根据自己的项目要求来选择)言归正传,现在就说说百度的定位API 吧 (该文章,主要是讲定位的,所以就单独说说,百度的定位API 接口)百度定位API,是 GPS 基站 WIFI IP混合定位,...

    集成目前Android主流优秀第三方组件

    百度地图定位SDK 谷歌依赖注入库RoboGuice WebService调用库ksoap2 XML解析XStream 动画开源库nineoldandroids 表单验证库android-validation-komensky 更多优秀开源库等待集成... 已封装工具类: HTTP网络通信工具...

    AMap_Android_Location_SDK_All.zip

    Android开发,构造地图,手机地理位置定点,打开手机GPS权限,根据经纬度精准定位。注:这是百度的定位SDK,直接调用就可以了!

    Android集成主流优秀第三方组件框架

    百度地图定位SDK 谷歌依赖注入库RoboGuice WebService调用库ksoap2 XML解析XStream 动画开源库nineoldandroids 表单验证库android-validation-komensky 更多优秀开源库等待集成... 已封装工具类: HTTP网络通信工具...

Global site tag (gtag.js) - Google Analytics