全部服务产品
开发者频道
定价
登录
获取周边POI
下载开发文档
简介

利用定位SDK,不仅可以快速精准的获得经纬度信息,还可以获取定位点周边的POI信息。 获取周边POI信息与获取经纬度使用方法一致,只需在配置定位SDK参数时,做相关的设置即可。 此外,如果需要周边POI信息,需确保手机能够正常连接网络。

如需获取更多周边POI相关信息,可使用全球逆地理编码API服务

具体步骤如下:

1. 第一步,准备工作

在使用定位SDK进行具体开发工作之前,需获取密钥(AK), 并对开发工程进行环境配置工作。详细介绍请参考项目创建部分的说明。 此外, Google在Android 6.0中引入了动态权限获取机制,开发者在使用定位SDK之前, 请详细了解关于Android 6.0系统开发须知。

2. 第二步,初始化LocationClient类

请在主线程中声明LocationClient类对象,该对象初始化需传入Context类型参数。 推荐使用getApplicationConext()方法获取全进程有效的Context。
核心代码段如下:

public LocationClient mLocationClient = null;
private MyLocationListener myListener = new MyLocationListener();
//BDAbstractLocationListener为7.2版本新增的Abstract类型的监听接口
//原有BDLocationListener接口暂时同步保留。具体介绍请参考后文中的说明
public void onCreate() {
mLocationClient = new LocationClient(getApplicationContext());
//声明LocationClient类
mLocationClient.registerLocationListener(myListener);
//注册监听函数
}
3. 第三步,配置定位SDK参数

此处请开发者注意,如果想获取位置描述信息,需在配置LocationClientOption类时做相应的设置。 设置方法与获取经纬度中第三步类似,核心代码如下:

LocationClientOption option = new LocationClientOption()
option.setIsNeedLocationPoiList(true);
//可选,是否需要周边POI信息,默认为不需要,即参数为false
//如果开发者需要获得周边POI信息,此处必须为true
mLocationClient.setLocOption(option);
//mLocationClient为第二步初始化过的LocationClient对象
//需将配置好的LocationClientOption对象,通过setLocOption方法传递给LocationClient对象使用
//更多LocationClientOption的配置,请参照类参考中LocationClientOption类的详细说明
4. 第四步,实现BDAbstractLocationListener接口

Android定位SDK自V7.2版本起,对外提供了Abstract类型的监听接口BDAbstractLocationListener, 用于实现定位监听。原有BDLocationListener暂时保留,推荐开发者升级到Abstract类型的新监听接口使用, 该接口会异步获取定位结果,核心代码如下:

public class MyLocationListener extends BDAbstractLocationListener{
@Override
public void onReceiveLocation(BDLocation location){
//此处的BDLocation为定位结果信息类,通过它的各种get方法可获取定位相关的全部结果
//以下只列举部分获取周边POI信息相关的结果
//更多结果信息获取说明,请参照类参考中BDLocation类中的说明
Poi poi = location.getPoiList().get(0);
String poiName = poi.getName(); //获取POI名称
String poiTags = poi.getTag(); //获取POI类型
String poiAddr = poi.getAddr(); //获取POI地址 //获取周边POI信息
PoiRegion poiRegion= location.getPoiRegion();
String poiDerectionDesc = poiRegion.getDerectionDesc(); //获取PoiRegion位置关系
String poiRegionName = poiRegion.getName(); //获取PoiRegion名称
String poiTags = poiRegion.getTags(); //获取PoiRegion类型
}
}
5. 第五步,获取定位经纬度

调用LocationClient的start()方法,发起请求,在BDAbstractLocationListener接口中,便可获得定位周边POI信息。 详细信息请参考获取经纬度中第五步的介绍。

6. 第六步:停止定位

调用LocationClient的stop()方法

上一篇

获取位置描述

下一篇

获取室内定位

本篇文章对您是否有帮助?