(未显示1个用户的8个中间版本) | |||
第1行: | 第1行: | ||
<div class="bluetitle"><div class="services-title-text">简介</div></div> | <div class="bluetitle"><div class="services-title-text">简介</div></div> | ||
利用定位SDK,不仅可以快速精准的获得经纬度信息,还可以获取定位点周边的POI信息。 | 利用定位SDK,不仅可以快速精准的获得经纬度信息,还可以获取定位点周边的POI信息。 | ||
− | |||
获取周边POI信息与获取经纬度使用方法一致,只需在配置定位SDK参数时,做相关的设置即可。 | 获取周边POI信息与获取经纬度使用方法一致,只需在配置定位SDK参数时,做相关的设置即可。 | ||
+ | 此外,如果需要周边POI信息,需确保手机能够正常连接网络。 | ||
− | + | <span style="color:#F39700;">如需获取更多周边POI相关信息,可使用[http://lbsyun.baidu.com/index.php?title=webapi/guide/webservice-geocoding-abroad 全球逆地理编码API服务]。</span> | |
具体步骤如下: | 具体步骤如下: | ||
<div class="devguide"> | <div class="devguide"> | ||
− | <div class="leftborderbg" style="height: | + | <div class="leftborderbg" style="min-height:1440px;"></div> |
<div class="devguideorder"><span>1</span>第一步,准备工作</div> | <div class="devguideorder"><span>1</span>第一步,准备工作</div> | ||
<div class="devguidecenter">在使用定位SDK进行具体开发工作之前,需[http://lbsyun.baidu.com/apiconsole/key?application=key 获取密钥(AK)],并对开发工程进行环境配置工作。详细介绍请参考项目创建部分的说明。 | <div class="devguidecenter">在使用定位SDK进行具体开发工作之前,需[http://lbsyun.baidu.com/apiconsole/key?application=key 获取密钥(AK)],并对开发工程进行环境配置工作。详细介绍请参考项目创建部分的说明。 | ||
第46行: | 第46行: | ||
<div class="devguidecenter">Android定位SDK自V7.2版本起,对外提供了Abstract类型的监听接口BDAbstractLocationListener,用于实现定位监听。原有BDLocationListener暂时保留,推荐开发者升级到Abstract类型的新监听接口使用,该接口会异步获取定位结果,核心代码如下: | <div class="devguidecenter">Android定位SDK自V7.2版本起,对外提供了Abstract类型的监听接口BDAbstractLocationListener,用于实现定位监听。原有BDLocationListener暂时保留,推荐开发者升级到Abstract类型的新监听接口使用,该接口会异步获取定位结果,核心代码如下: | ||
<pre class="prettyprint codestyle"> | <pre class="prettyprint codestyle"> | ||
− | public class MyLocationListener | + | public class MyLocationListener extends BDAbstractLocationListener{ |
@Override | @Override | ||
public void onReceiveLocation(BDLocation location){ | public void onReceiveLocation(BDLocation location){ | ||
第53行: | 第53行: | ||
//更多结果信息获取说明,请参照类参考中BDLocation类中的说明 | //更多结果信息获取说明,请参照类参考中BDLocation类中的说明 | ||
− | + | Poi poi = location.getPoiList().get(0); | |
− | //获取周边POI信息 | + | 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类型 | ||
+ | |||
} | } | ||
} | } | ||
第66行: | 第74行: | ||
<div class="devguideorder"><span>6</span>第六步:停止定位</div> | <div class="devguideorder"><span>6</span>第六步:停止定位</div> | ||
− | <div class="devguidecenter"> | + | <div class="devguidecenter"> |
− | + | 调用LocationClient的stop()方法 | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
</div></div> | </div></div> |
2021年6月29日 (二) 16:08的最后版本
简介
利用定位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第五步,获取定位周边POI信息
调用LocationClient的start()方法,发起请求,在BDAbstractLocationListener接口中,便可获得定位周边POI信息。
详细信息请参考获取经纬度中第五步的介绍。
6第六步:停止定位
调用LocationClient的stop()方法