全部服务产品
开发者频道
定价
登录
国内外位置判断
下载开发文档
简介

定位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 extends 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接口中, 便可获得当前定位是国内还是国外的信息。详细信息请参考获取经纬度中第五步的介绍。

上一篇

位置提醒

下一篇

移动热点判别

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