类 LocationClient
- java.lang.Object
-
- com.baidu.location.LocationClient
-
- 所有已实现的接口:
com.baidu.location.common.FirstLocRequest.FirstLocationListener,com.baidu.location.utils.LocalDebug,com.baidu.location.utils.VersionConfig
public final class LocationClient extends java.lang.Object implements com.baidu.location.utils.VersionConfig, com.baidu.location.common.FirstLocRequest.FirstLocationListener定位服务的客户端,宿主程序在客户端声明此类,并调用,目前只支持在主线程中启动
-
-
字段概要
字段 修饰符和类型 字段 说明 static intCONNECT_HOT_SPOT_FALSE连接wifi不是移动热点static intCONNECT_HOT_SPOT_TRUE连接wifi是移动热点static intCONNECT_HOT_SPOT_UNKNOWN连接移动热点状态未知static intLOC_DIAGNOSTIC_TYPE_BETTER_OPEN_FINE_PERMISSION诊断信息:打开精准定位权限会获取更准确的位置信息static intLOC_DIAGNOSTIC_TYPE_BETTER_OPEN_GPS诊断信息:打开GPS定位会更加精准static intLOC_DIAGNOSTIC_TYPE_BETTER_OPEN_WIFI诊断信息:打开wifi(不用连接)定位会更加精准static intLOC_DIAGNOSTIC_TYPE_COARSE_FAIL诊断信息:模糊定位失败static intLOC_DIAGNOSTIC_TYPE_FAIL_UNKNOWN诊断信息:未知定位异常原因,请确认周围环境或者检查手机有无管家软件没有授权APP定位权限等static intLOC_DIAGNOSTIC_TYPE_NEED_CHECK_LOC_PERMISSION诊断信息:定位失败,请确认是否授予APP定位权限static intLOC_DIAGNOSTIC_TYPE_NEED_CHECK_NET诊断信息:定位失败,请检查网络是否畅通static intLOC_DIAGNOSTIC_TYPE_NEED_CLOSE_FLYMODE诊断信息:飞行模式无法定位,请关闭飞行模式重试static intLOC_DIAGNOSTIC_TYPE_NEED_INSERT_SIMCARD_OR_OPEN_WIFI诊断信息:无法获取任何定位依据,请插入SIM卡或者打开wifi重试static intLOC_DIAGNOSTIC_TYPE_NEED_OPEN_PHONE_LOC_SWITCH诊断信息:定位失败,请打开手机定位开关static intLOC_DIAGNOSTIC_TYPE_SERVER_FAIL诊断信息:服务端定位失败
-
构造器概要
构造器 构造器 说明 LocationClient(android.content.Context context)构造函数LocationClient(android.content.Context context, LocationClientOption locOption)构造函数
-
方法概要
所有方法 静态方法 实例方法 具体方法 修饰符和类型 方法 说明 voiddisableAssistantLocation()停止H5辅助定位voiddisableLocInForeground(boolean removeNotification)关闭前台定位服务voidenableAssistantLocation(android.webkit.WebView webView)开发者应用如果有H5页面使用了百度JS接口,该接口可以辅助百度JS更好的进行定位voidenableLocInForeground(int id, android.app.Notification notification)开发者应用如果有后台定位需求,在退到后台的时候,为了保证定位可以在后台一直运行, 可以调用该函数,会将定位SDK的SERVICE设置成为前台服务,适配ANDROID 8后台无法定位问题,其他版本下也会提高定位进程存活率java.lang.StringgetAccessKey()获取用户设置的KEYstatic BDLocationgetBDLocationInCoorType(BDLocation src, java.lang.String transferType)根据设定的转换坐标系类型得到相应坐标系下的BDLocationBDLocationgetLastKnownLocation()同步定位,返回最近一次定位结果LocationClientOptiongetLocOption()java.lang.StringgetVersion()获取定位sdk版本信息booleanisStarted()client是否started,很多开发者会在start之后去检查此函数,定位客户端启动会有一定时间,所以会有一定延时,实际上调用start方法后定位SDK会默认立即发起定位请求,开发者不用额外检查voidonReceiveLightLocString(java.lang.String locStr)voidonReceiveLocation(BDLocation location)voidregisterLocationListener(BDAbstractLocationListener listener)注册 BDAbstractLocationListener 定位监听函数voidregisterNotify(BDNotifyListener mNotify)注册位置提醒监听voidregisterNotifyLocationListener(BDLocationListener listener)NAvoidremoveNotifyEvent(BDNotifyListener mNotify)取消注册的位置提醒监听booleanrequestHotSpotState()触发请求当前连接wifi是否是移动热点的状态intrequestLocation()请求定位,异步返回,结果在locationListener中获取.voidrequestNotifyLocation()NAintrequestOfflineLocation()离线定位请求,异步返回,结果在locationListener中获取.voidrestart()重启定位SDK,后台常驻运行的APP可以尝试在回到前台的情况下重启定位SDK,防止因长时间后台运行被系统回收定位权限造成定位失败static voidsetAgreePrivacy(boolean isAgreePrivacy)static voidsetKey(java.lang.String key)设置鉴权值voidsetLocOption(LocationClientOption locOption)设置 LocationClientOptionvoidstart()启动定位sdkbooleanstartIndoorMode()打开室内定位模式,该模式下会加快定位速度并输出连续室内定位结果;当BDLocation.getFloor() !booleanstartVdr(java.util.ArrayList<java.lang.String> naviPoints)开启vdrvoidstop()停止定位sdkbooleanstopIndoorMode()关闭室内定位模式voidunRegisterLocationListener(BDAbstractLocationListener listener)取消之前注册的 BDAbstractLocationListener 定位监听函数booleanupdateLocation(android.location.Location gpslocation)NA
-
-
-
字段详细资料
-
CONNECT_HOT_SPOT_TRUE
public static final int CONNECT_HOT_SPOT_TRUE
连接wifi是移动热点- 另请参阅:
- 常量字段值
-
CONNECT_HOT_SPOT_FALSE
public static final int CONNECT_HOT_SPOT_FALSE
连接wifi不是移动热点- 另请参阅:
- 常量字段值
-
CONNECT_HOT_SPOT_UNKNOWN
public static final int CONNECT_HOT_SPOT_UNKNOWN
连接移动热点状态未知- 另请参阅:
- 常量字段值
-
LOC_DIAGNOSTIC_TYPE_BETTER_OPEN_GPS
public static final int LOC_DIAGNOSTIC_TYPE_BETTER_OPEN_GPS
诊断信息:打开GPS定位会更加精准- 另请参阅:
- 常量字段值
-
LOC_DIAGNOSTIC_TYPE_BETTER_OPEN_WIFI
public static final int LOC_DIAGNOSTIC_TYPE_BETTER_OPEN_WIFI
诊断信息:打开wifi(不用连接)定位会更加精准- 另请参阅:
- 常量字段值
-
LOC_DIAGNOSTIC_TYPE_NEED_CHECK_NET
public static final int LOC_DIAGNOSTIC_TYPE_NEED_CHECK_NET
诊断信息:定位失败,请检查网络是否畅通- 另请参阅:
- 常量字段值
-
LOC_DIAGNOSTIC_TYPE_NEED_CHECK_LOC_PERMISSION
public static final int LOC_DIAGNOSTIC_TYPE_NEED_CHECK_LOC_PERMISSION
诊断信息:定位失败,请确认是否授予APP定位权限- 另请参阅:
- 常量字段值
-
LOC_DIAGNOSTIC_TYPE_NEED_OPEN_PHONE_LOC_SWITCH
public static final int LOC_DIAGNOSTIC_TYPE_NEED_OPEN_PHONE_LOC_SWITCH
诊断信息:定位失败,请打开手机定位开关- 另请参阅:
- 常量字段值
-
LOC_DIAGNOSTIC_TYPE_NEED_INSERT_SIMCARD_OR_OPEN_WIFI
public static final int LOC_DIAGNOSTIC_TYPE_NEED_INSERT_SIMCARD_OR_OPEN_WIFI
诊断信息:无法获取任何定位依据,请插入SIM卡或者打开wifi重试- 另请参阅:
- 常量字段值
-
LOC_DIAGNOSTIC_TYPE_NEED_CLOSE_FLYMODE
public static final int LOC_DIAGNOSTIC_TYPE_NEED_CLOSE_FLYMODE
诊断信息:飞行模式无法定位,请关闭飞行模式重试- 另请参阅:
- 常量字段值
-
LOC_DIAGNOSTIC_TYPE_SERVER_FAIL
public static final int LOC_DIAGNOSTIC_TYPE_SERVER_FAIL
诊断信息:服务端定位失败- 另请参阅:
- 常量字段值
-
LOC_DIAGNOSTIC_TYPE_FAIL_UNKNOWN
public static final int LOC_DIAGNOSTIC_TYPE_FAIL_UNKNOWN
诊断信息:未知定位异常原因,请确认周围环境或者检查手机有无管家软件没有授权APP定位权限等- 另请参阅:
- 常量字段值
-
LOC_DIAGNOSTIC_TYPE_BETTER_OPEN_FINE_PERMISSION
public static final int LOC_DIAGNOSTIC_TYPE_BETTER_OPEN_FINE_PERMISSION
诊断信息:打开精准定位权限会获取更准确的位置信息- 另请参阅:
- 常量字段值
-
LOC_DIAGNOSTIC_TYPE_COARSE_FAIL
public static final int LOC_DIAGNOSTIC_TYPE_COARSE_FAIL
诊断信息:模糊定位失败- 另请参阅:
- 常量字段值
-
-
构造器详细资料
-
LocationClient
public LocationClient(android.content.Context context) throws java.lang.Exception构造函数- 参数:
context- 需要全局有效的context,建议通过getApplicationContext传入- 抛出:
java.lang.Exception
-
LocationClient
public LocationClient(android.content.Context context, LocationClientOption locOption) throws java.lang.Exception构造函数- 参数:
context- 需要全局有效的context,建议通过getApplicationContext传入locOption- client相关的参数设定- 抛出:
java.lang.Exception
-
-
方法详细资料
-
getLocOption
public LocationClientOption getLocOption()
- 返回:
- 目前的LocationClientOption 设置
-
setLocOption
public void setLocOption(LocationClientOption locOption)
设置 LocationClientOption- 参数:
locOption- client相关的参数设定
-
updateLocation
public boolean updateLocation(android.location.Location gpslocation)
NA
-
requestNotifyLocation
public void requestNotifyLocation()
NA
-
requestOfflineLocation
public int requestOfflineLocation()
离线定位请求,异步返回,结果在locationListener中获取.- 返回:
- 0:离线定位请求成功 1:service没有启动 2:无监听函数
-
requestLocation
public int requestLocation()
请求定位,异步返回,结果在locationListener中获取.- 返回:
- 0:离线定位请求成功 1:service没有启动 2:无监听函数 6:两次请求时间太短
-
isStarted
public boolean isStarted()
client是否started,很多开发者会在start之后去检查此函数,定位客户端启动会有一定时间,所以会有一定延时,实际上调用start方法后定位SDK会默认立即发起定位请求,开发者不用额外检查- 返回:
- boolean
-
getLastKnownLocation
public BDLocation getLastKnownLocation()
同步定位,返回最近一次定位结果- 返回:
- BDLocation
-
getVersion
public java.lang.String getVersion()
获取定位sdk版本信息- 返回:
- String
-
restart
public void restart()
重启定位SDK,后台常驻运行的APP可以尝试在回到前台的情况下重启定位SDK,防止因长时间后台运行被系统回收定位权限造成定位失败
-
enableLocInForeground
public void enableLocInForeground(int id, android.app.Notification notification)开发者应用如果有后台定位需求,在退到后台的时候,为了保证定位可以在后台一直运行, 可以调用该函数,会将定位SDK的SERVICE设置成为前台服务,适配ANDROID 8后台无法定位问题,其他版本下也会提高定位进程存活率- 参数:
id- 为通知栏notifation设置唯一id,必须大于0notification- 开发者自定义通知
-
disableLocInForeground
public void disableLocInForeground(boolean removeNotification)
关闭前台定位服务- 参数:
removeNotification- 是否移除通知栏通知
-
enableAssistantLocation
public void enableAssistantLocation(android.webkit.WebView webView)
开发者应用如果有H5页面使用了百度JS接口,该接口可以辅助百度JS更好的进行定位- 参数:
webView- WebView对象
-
disableAssistantLocation
public void disableAssistantLocation()
停止H5辅助定位
-
setKey
public static void setKey(java.lang.String key)
设置鉴权值
-
start
public void start()
启动定位sdk
-
stop
public void stop()
停止定位sdk
-
registerNotify
public void registerNotify(BDNotifyListener mNotify)
注册位置提醒监听- 参数:
mNotify- 参考位置提醒类
-
removeNotifyEvent
public void removeNotifyEvent(BDNotifyListener mNotify)
取消注册的位置提醒监听- 参数:
mNotify- 参考位置提醒类
-
setAgreePrivacy
public static void setAgreePrivacy(boolean isAgreePrivacy)
-
registerNotifyLocationListener
public void registerNotifyLocationListener(BDLocationListener listener)
NA
-
registerLocationListener
public void registerLocationListener(BDAbstractLocationListener listener)
注册 BDAbstractLocationListener 定位监听函数- 参数:
listener- 注册位置回调接口
-
unRegisterLocationListener
public void unRegisterLocationListener(BDAbstractLocationListener listener)
取消之前注册的 BDAbstractLocationListener 定位监听函数- 参数:
listener- 取消位置回调接口
-
startIndoorMode
public boolean startIndoorMode()
打开室内定位模式,该模式下会加快定位速度并输出连续室内定位结果;当BDLocation.getFloor() != null时,表明该区域已经支持室内定位,开发者可以尝试调用该接口,体验高精度室内定位功能。- 返回:
- boolean 是否成功
-
stopIndoorMode
public boolean stopIndoorMode()
关闭室内定位模式- 返回:
- boolean 是否成功
-
requestHotSpotState
public boolean requestHotSpotState()
触发请求当前连接wifi是否是移动热点的状态- 返回:
- 是否请求成功
-
startVdr
public boolean startVdr(java.util.ArrayList<java.lang.String> naviPoints)
开启vdr- 参数:
naviPoints-- 返回:
-
getAccessKey
public java.lang.String getAccessKey()
获取用户设置的KEY- 返回:
- String
-
getBDLocationInCoorType
public static BDLocation getBDLocationInCoorType(BDLocation src, java.lang.String transferType)
根据设定的转换坐标系类型得到相应坐标系下的BDLocation- 参数:
src- 原始BDLocationtransferType- BDLocation.BDLOCATION_GCJ02_TO_BD09/BDLOCATION_GCJ02_TO_BD09LL/BDLOCATION_BD09_TO_GCJ02/ BDLOCATION_BD09LL_TO_GCJ02/BDLOCATION_WGS84_TO_GCJ02
-
onReceiveLocation
public void onReceiveLocation(BDLocation location)
- 指定者:
onReceiveLocation在接口中com.baidu.location.common.FirstLocRequest.FirstLocationListener
-
onReceiveLightLocString
public void onReceiveLightLocString(java.lang.String locStr)
- 指定者:
onReceiveLightLocString在接口中com.baidu.location.common.FirstLocRequest.FirstLocationListener
-
-