类 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 int
CONNECT_HOT_SPOT_FALSE
连接wifi不是移动热点static int
CONNECT_HOT_SPOT_TRUE
连接wifi是移动热点static int
CONNECT_HOT_SPOT_UNKNOWN
连接移动热点状态未知static int
LOC_DIAGNOSTIC_TYPE_BETTER_OPEN_FINE_PERMISSION
诊断信息:打开精准定位权限会获取更准确的位置信息static int
LOC_DIAGNOSTIC_TYPE_BETTER_OPEN_GPS
诊断信息:打开GPS定位会更加精准static int
LOC_DIAGNOSTIC_TYPE_BETTER_OPEN_WIFI
诊断信息:打开wifi(不用连接)定位会更加精准static int
LOC_DIAGNOSTIC_TYPE_COARSE_FAIL
诊断信息:模糊定位失败static int
LOC_DIAGNOSTIC_TYPE_FAIL_UNKNOWN
诊断信息:未知定位异常原因,请确认周围环境或者检查手机有无管家软件没有授权APP定位权限等static int
LOC_DIAGNOSTIC_TYPE_NEED_CHECK_LOC_PERMISSION
诊断信息:定位失败,请确认是否授予APP定位权限static int
LOC_DIAGNOSTIC_TYPE_NEED_CHECK_NET
诊断信息:定位失败,请检查网络是否畅通static int
LOC_DIAGNOSTIC_TYPE_NEED_CLOSE_FLYMODE
诊断信息:飞行模式无法定位,请关闭飞行模式重试static int
LOC_DIAGNOSTIC_TYPE_NEED_INSERT_SIMCARD_OR_OPEN_WIFI
诊断信息:无法获取任何定位依据,请插入SIM卡或者打开wifi重试static int
LOC_DIAGNOSTIC_TYPE_NEED_OPEN_PHONE_LOC_SWITCH
诊断信息:定位失败,请打开手机定位开关static int
LOC_DIAGNOSTIC_TYPE_SERVER_FAIL
诊断信息:服务端定位失败
-
构造器概要
构造器 构造器 说明 LocationClient(android.content.Context context)
构造函数LocationClient(android.content.Context context, LocationClientOption locOption)
构造函数
-
方法概要
所有方法 静态方法 实例方法 具体方法 修饰符和类型 方法 说明 void
disableAssistantLocation()
停止H5辅助定位void
disableLocInForeground(boolean removeNotification)
关闭前台定位服务void
enableAssistantLocation(android.webkit.WebView webView)
开发者应用如果有H5页面使用了百度JS接口,该接口可以辅助百度JS更好的进行定位void
enableLocInForeground(int id, android.app.Notification notification)
开发者应用如果有后台定位需求,在退到后台的时候,为了保证定位可以在后台一直运行, 可以调用该函数,会将定位SDK的SERVICE设置成为前台服务,适配ANDROID 8后台无法定位问题,其他版本下也会提高定位进程存活率java.lang.String
getAccessKey()
获取用户设置的KEYstatic BDLocation
getBDLocationInCoorType(BDLocation src, java.lang.String transferType)
根据设定的转换坐标系类型得到相应坐标系下的BDLocationBDLocation
getLastKnownLocation()
同步定位,返回最近一次定位结果LocationClientOption
getLocOption()
java.lang.String
getVersion()
获取定位sdk版本信息boolean
isStarted()
client是否started,很多开发者会在start之后去检查此函数,定位客户端启动会有一定时间,所以会有一定延时,实际上调用start方法后定位SDK会默认立即发起定位请求,开发者不用额外检查void
onReceiveLightLocString(java.lang.String locStr)
void
onReceiveLocation(BDLocation location)
void
registerLocationListener(BDAbstractLocationListener listener)
注册 BDAbstractLocationListener 定位监听函数void
registerNotify(BDNotifyListener mNotify)
注册位置提醒监听void
registerNotifyLocationListener(BDLocationListener listener)
NAvoid
removeNotifyEvent(BDNotifyListener mNotify)
取消注册的位置提醒监听boolean
requestHotSpotState()
触发请求当前连接wifi是否是移动热点的状态int
requestLocation()
请求定位,异步返回,结果在locationListener中获取.void
requestNotifyLocation()
NAint
requestOfflineLocation()
离线定位请求,异步返回,结果在locationListener中获取.void
restart()
重启定位SDK,后台常驻运行的APP可以尝试在回到前台的情况下重启定位SDK,防止因长时间后台运行被系统回收定位权限造成定位失败static void
setAgreePrivacy(boolean isAgreePrivacy)
static void
setKey(java.lang.String key)
设置鉴权值void
setLocOption(LocationClientOption locOption)
设置 LocationClientOptionvoid
start()
启动定位sdkboolean
startIndoorMode()
打开室内定位模式,该模式下会加快定位速度并输出连续室内定位结果;当BDLocation.getFloor() !boolean
startVdr(java.util.ArrayList<java.lang.String> naviPoints)
开启vdrvoid
stop()
停止定位sdkboolean
stopIndoorMode()
关闭室内定位模式void
unRegisterLocationListener(BDAbstractLocationListener listener)
取消之前注册的 BDAbstractLocationListener 定位监听函数boolean
updateLocation(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
-
-