本文主要讲解如何通过百度地图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 经纬度,一个基于百度地图api 获取经纬度的小例子,解决了用gps定位为null的问题,简单实用,决对可用
根据地址查询经纬度</title> <meta http-equiv=”Content-Type” content=”text/html; charset=utf-8″> [removed][removed] </head> <body style=”background:#CBE1FF”> <div ...
根据最新版的百度地图api手写的一个demo,项目名称和appkey已配置好,可直接调试或使用,若想使用到自己项目中,直接替换即可,本demo主要根据所在位置获取经纬度,并根据经纬度定位,比较适合新手,仅供参考,若有...
百度地图BD09坐标腾讯地图用的也是GCJ02坐标@param double $lat 纬度@param double $lng 经度百度地图BD09坐标---->中国正常GCJ02坐标腾讯地图用的也是GCJ02坐标@param double $lat 纬度@param double $lng 经度@...
这个也是找了好久没找到,自己最近项目需要,也是研究之后写成了jar包,...里面有邮箱如有什么疑问可以发邮件,有时间一定解决,拿到测试代码需要 申请百度key,里面有文档说明,相信一看你都会。测试代码写的很清楚。
基于百度地图api的服务,包含路径规划,输入地址获取目标经纬度,导航,定位等服务。
源码 博文链接:https://104zz.iteye.com/blog/1681845
用第三方SDK定位,如百度地图、高德地图、谷歌地图; 用Android原生SDK中的api定位; 本文讲述定位的第二种方式–用Android原生的SDK中的api定位,如果项目定位要求较高还是建议使用第三方地图库。 二、Android...
本文旨在为使用基于Android操作系统的移动设备(如手机、平板电脑等)的用户提供一种准确、方便的定位系统,可以通过经纬度信息,甚至仅仅是地名,就能在地图上找到该地的地理位置。然后通过截图存储,把使用者所到...
在小程序中使用map组件,可以调用腾讯地图的API,将一些固定的点标记到地图界面上,点的经纬度获取是通过android端百度地图API获取的,所以此时将这个位置点信息直接设置上去会出现偏差,而且偏差还比较大 ...
APP中可能会遇到一种需求,就是将当前所在位置的坐标传到服务器上,今天我提供三种途径去获取经纬度坐标信息,第一种是通过Android API来实现,第二种通过百度地图API来实现,第三种通过天地图API来实现。...
android 百度地图api 经纬度,一个基于百度地图api 获取经纬度的小例子,解决了用gps定位为null的问题,简单实用,决对可用
申请百度定位开发者,通过第三方百度地图API中的SDK开发,调用百度定位,可以一次性获取当前位置经纬度以及详细地址信息,还可以获取周边POI信息,实现百度定位的基本应用的Android项目
用的是百度地图3.0的api,是一个简单的功能,通过已经准备好的经纬度点,绘制轨迹图,然后再将轨迹播放出来。使用的方法也很简单,通过生成一个Marker,然后按照之前的经纬度点去移动,如果会做的话,就不用下载了。
(第三方地图API的选择,具体还要根据自己的项目要求来选择)言归正传,现在就说说百度的定位API 吧 (该文章,主要是讲定位的,所以就单独说说,百度的定位API 接口)百度定位API,是 GPS 基站 WIFI IP混合定位,...
基于百度地图实现的基础定位功能的Android Studio项目,能获取到经纬度,以及具体的省份和城市,街道,也能判断是以什么样的方式,能将自己的位置显示在地图上。当然前提是将项目在真机上跑,在虚拟机上跑是没有效果...
(第三方地图API的选择,具体还要根据自己的项目要求来选择)言归正传,现在就说说百度的定位API 吧 (该文章,主要是讲定位的,所以就单独说说,百度的定位API 接口)百度定位API,是 GPS 基站 WIFI IP混合定位,...
百度地图定位SDK 谷歌依赖注入库RoboGuice WebService调用库ksoap2 XML解析XStream 动画开源库nineoldandroids 表单验证库android-validation-komensky 更多优秀开源库等待集成... 已封装工具类: HTTP网络通信工具...
Android开发,构造地图,手机地理位置定点,打开手机GPS权限,根据经纬度精准定位。注:这是百度的定位SDK,直接调用就可以了!
百度地图定位SDK 谷歌依赖注入库RoboGuice WebService调用库ksoap2 XML解析XStream 动画开源库nineoldandroids 表单验证库android-validation-komensky 更多优秀开源库等待集成... 已封装工具类: HTTP网络通信工具...