浏览器版本低!无法浏览完整内容,建议升级或更换浏览器。

Android 定位SDK

开发者在自己的Android移动应用中集成定位SDK,可轻松实现获取当前位置信息的功能。获取当前位置信息,即我们常说的定位。其中位置信息主要包括经纬度、地址、位置描述、周边POI等

简介

定位SDK自v6.2.3版本起,使用了自研的海外定位服务,定位成功率、精准度等各项指标显著提升。

定位SDK不但提供了全球定位能力,还提供了国内外位置判断的附加功能,更便捷的帮助开发者的使用。

国内外位置判断功能的使用方法如下:

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第三步,实现BDAbstractLocationListener接口
Android定位SDK自v7.2版本起,对外提供了Abstract类型的监听接口BDAbstractLocationListener,用于实现定位监听。原有BDLocationListener暂时保留,推荐开发者升级到Abstract类型的新监听接口使用,该接口会异步获取定位结果,核心代码如下
public class MyLocationListener implements BDAbstractLocationListener{
    @Override
    public void onReceiveLocation(BDLocation location){
        //此处的BDLocation为定位结果信息类,通过它的各种get方法可获取定位相关的全部结果
        //以下只列举与国内外判断相关的内容
        //更多结果信息获取说明,请参照类参考中BDLocation类中的说明

        //BDLocation.getLocationWhere()方法可获得当前定位点是否是国内,它的取值及含义如下:
        //BDLocation.LOCATION_WHERE_IN_CN:当前定位点在国内;
        //BDLocation.LOCATION_WHERE_OUT_CN:当前定位点在海外;
        //其他:无法判定。
    }
}
4第四步,发起调用并得到结果
调用LocationClient的start()方法,发起请求,在BDAbstractLocationListener接口中,便可获得当前定位是国内还是国外的信息。

详细信息请参考获取经纬度中第五步的介绍。