public final class LocationClient
extends java.lang.Object
implements com.baidu.location.utils.VersionConfig, com.baidu.location.common.FirstLocRequest.FirstLocationListener, com.baidu.location.mapversion.FixGpsSpeed.FixGpsLocationListener
限定符和类型 | 字段和说明 |
---|---|
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_GPS
诊断信息:打开GPS定位会更加精准
|
static int |
LOC_DIAGNOSTIC_TYPE_BETTER_OPEN_WIFI
诊断信息:打开wifi(不用连接)定位会更加精准
|
static int |
LOC_DIAGNOSTIC_TYPE_FAIL_UNKNOWN
诊断信息:未知定位异常原因,请确认周围环境或者检查手机有无管家软件没有授权APP定位权限等,这种情况下可以尝试重新启动定位SDK或者重启手机试一下,大概率是被系统回收定位权限造成的
|
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
诊断信息:服务端定位失败
|
static java.lang.String |
PREF_FILE_NAME |
static java.lang.String |
PREF_KEY_NAME |
构造器和说明 |
---|
LocationClient(android.content.Context context) |
LocationClient(android.content.Context context,
LocationClientOption locOption) |
限定符和类型 | 方法和说明 |
---|---|
void |
baiduMapSendChangeFloorMessage() |
boolean |
baiduMapStartIndoorBleMode()
indoor related interface functions, should only be turned on in the baiduMap editon.
|
boolean |
baiduMapStartIndoorMode()
indoor related interface functions, should only be turned on in the baiduMap editon.
|
boolean |
baiduMapStopCalibrationWhileIndoorMode()
This method is available when the Baidu Map starts indoor mode.
|
boolean |
baiduMapStopIndoorBleMode() |
boolean |
baiduMapStopIndoorMode() |
static BDLocation |
getBDLocationInCoorType(BDLocation src,
java.lang.String transferType)
根据设定的转换坐标系类型得到相应坐标系下的BDLocation
|
BDLocation |
getLastKnownLocation() |
java.lang.String |
getLocInfo() |
LocationClientOption |
getLocOption() |
java.lang.String |
getVersion() |
boolean |
IBeaconValiable() |
boolean |
isBLEIndoorMode() |
boolean |
isIndoorMode() |
boolean |
isStarted() |
void |
onReceiveGpsLocation(android.location.Location location) |
void |
onReceiveLightLocString(java.lang.String locStr) |
void |
onReceiveLocation(BDLocation location) |
void |
registerLocationListener(BDAbstractLocationListener listener) |
void |
registerLocationListener(BDLocationListener listener) |
void |
registerNotifyLocationListener(BDLocationListener listener)
NA
|
boolean |
requestForImageResult(java.lang.String bid,
java.lang.String imagePath,
java.lang.String code,
double cameraFov,
float[] gravity,
boolean forceOnline) |
boolean |
requestHotSpotState()
触发请求当前连接wifi是否是移动热点的状态
|
int |
requestLocation() |
boolean |
requestLocationTag() |
void |
requestNotifyLocation()
NA
|
int |
requestOfflineLocation() |
void |
restartService() |
void |
setAccessKey(java.lang.String key) |
void |
setForBaiduMap(boolean flag)
NA
|
boolean |
setFusionLocMode(int mode)
设置融合定位模式
|
boolean |
setHotSpotUserCallbackInfo(boolean info) |
void |
setLocOption(LocationClientOption locOption) |
boolean |
setMapForegroundState(boolean state)
由地图基线设置前后台状态,告知定位sdk
|
boolean |
setNaviModeStatus(int source,
int status)
设置进入导航前的页面状态信息
|
boolean |
setRealTimeBusStationInfo(android.os.Bundle info) |
boolean |
setUgcInfo(java.lang.String info) |
void |
start() |
boolean |
startVdr(java.util.ArrayList<java.lang.String> naviPoints)
为了减少基线工作量,9月份版本复用之前的接口startVdr,交互参数也不变,不过会把参数统一成json,直接放到list的第一个数据中
同时废弃stopvdr接口,所有状态统一由json数据传递
为了更好的辅助导航定位,导航需要不断与定位sdk通信,控制定位sdk开启相关功能,通知定位sdk导航内部信息;
因为涉及的交互较多,为了减少基线中间的交互成本,因此抽象成一个接口,通过导航设置不同的json
数据来达到通知定位sdk各种信息的目的
所传递的json数据主要是两个字段,"key"代表不同的指令,"value"代表不同指令下的传递的参数
有以下几种json信息定义:
1、导航状态
json数据:{"key":"navi_state","value":1},"value"字段表示具体导航状态枚举类型,1表示开始导航,0表示结束导航,2表示开始隧道导航,3表示停止隧道导航
2、更新导航路径,用于更新各分段路径和偏航重规划路径
json数据:{"key":"update_navi_links","value":[{lat0,lon0},{lat1,lon1},{lat2,lon2}....
|
void |
stop() |
boolean |
stopVdr()
结束vdr推算,由导航客户端控制
|
boolean |
triggerErrorReport(java.lang.String errorID)
触发手机定位SDK日志逻辑
|
void |
unRegisterLocationListener(BDAbstractLocationListener listener) |
void |
unRegisterLocationListener(BDLocationListener listener) |
boolean |
updateLocation(android.location.Location gpslocation)
NA
|
public static java.lang.String PREF_FILE_NAME
public static java.lang.String PREF_KEY_NAME
public static final int CONNECT_HOT_SPOT_TRUE
public static final int CONNECT_HOT_SPOT_FALSE
public static final int CONNECT_HOT_SPOT_UNKNOWN
public static final int LOC_DIAGNOSTIC_TYPE_BETTER_OPEN_GPS
public static final int LOC_DIAGNOSTIC_TYPE_BETTER_OPEN_WIFI
public static final int LOC_DIAGNOSTIC_TYPE_NEED_CHECK_NET
public static final int LOC_DIAGNOSTIC_TYPE_NEED_CHECK_LOC_PERMISSION
public static final int LOC_DIAGNOSTIC_TYPE_NEED_OPEN_PHONE_LOC_SWITCH
public static final int LOC_DIAGNOSTIC_TYPE_NEED_INSERT_SIMCARD_OR_OPEN_WIFI
public static final int LOC_DIAGNOSTIC_TYPE_NEED_CLOSE_FLYMODE
public static final int LOC_DIAGNOSTIC_TYPE_SERVER_FAIL
public static final int LOC_DIAGNOSTIC_TYPE_FAIL_UNKNOWN
public LocationClient(android.content.Context context)
public LocationClient(android.content.Context context, LocationClientOption locOption)
public LocationClientOption getLocOption()
public void setLocOption(LocationClientOption locOption)
public boolean updateLocation(android.location.Location gpslocation)
public void requestNotifyLocation()
public int requestOfflineLocation()
public int requestLocation()
public java.lang.String getLocInfo()
public boolean requestLocationTag()
public boolean isStarted()
public BDLocation getLastKnownLocation()
public java.lang.String getVersion()
public void start()
public void restartService()
public void stop()
public void registerNotifyLocationListener(BDLocationListener listener)
public void registerLocationListener(BDLocationListener listener)
public void registerLocationListener(BDAbstractLocationListener listener)
public void unRegisterLocationListener(BDAbstractLocationListener listener)
public void unRegisterLocationListener(BDLocationListener listener)
public void setForBaiduMap(boolean flag)
public boolean setUgcInfo(java.lang.String info)
public boolean startVdr(java.util.ArrayList<java.lang.String> naviPoints)
同时废弃stopvdr接口,所有状态统一由json数据传递
为了更好的辅助导航定位,导航需要不断与定位sdk通信,控制定位sdk开启相关功能,通知定位sdk导航内部信息; 因为涉及的交互较多,为了减少基线中间的交互成本,因此抽象成一个接口,通过导航设置不同的json 数据来达到通知定位sdk各种信息的目的
所传递的json数据主要是两个字段,"key"代表不同的指令,"value"代表不同指令下的传递的参数
有以下几种json信息定义:
1、导航状态
json数据:{"key":"navi_state","value":1},"value"字段表示具体导航状态枚举类型,1表示开始导航,0表示结束导航,2表示开始隧道导航,3表示停止隧道导航
2、更新导航路径,用于更新各分段路径和偏航重规划路径
json数据:{"key":"update_navi_links","value":[{lat0,lon0},{lat1,lon1},{lat2,lon2}....,{latn,lonn}]}, "value"字段是一个json数组,坐标系为gcj02,代表的是导航的规划路径,用于更新分段之后的导航路径,偏航重规划也可以用该接口 输入路径点必须按顺序从起点依次设置
public boolean stopVdr()
public boolean setHotSpotUserCallbackInfo(boolean info)
public boolean setRealTimeBusStationInfo(android.os.Bundle info)
public boolean setNaviModeStatus(int source, int status)
source
- , 1:poi页面, 2:出行驾车页面, 3:地图淘金status
- , 1:进入, 2:退出public boolean triggerErrorReport(java.lang.String errorID)
errorID
- 错误码public boolean setMapForegroundState(boolean state)
state
- true:前台 false:后台public boolean requestHotSpotState()
public boolean setFusionLocMode(int mode)
mode
- , 0:默认, 1:步行导航public void onReceiveLocation(BDLocation location)
onReceiveLocation
在接口中 com.baidu.location.common.FirstLocRequest.FirstLocationListener
public void onReceiveLightLocString(java.lang.String locStr)
onReceiveLightLocString
在接口中 com.baidu.location.common.FirstLocRequest.FirstLocationListener
public void onReceiveGpsLocation(android.location.Location location)
onReceiveGpsLocation
在接口中 com.baidu.location.mapversion.FixGpsSpeed.FixGpsLocationListener
public boolean requestForImageResult(java.lang.String bid, java.lang.String imagePath, java.lang.String code, double cameraFov, float[] gravity, boolean forceOnline)
public boolean baiduMapStartIndoorMode()
public boolean baiduMapStopIndoorMode()
public void baiduMapSendChangeFloorMessage()
public boolean baiduMapStopCalibrationWhileIndoorMode()
public boolean isIndoorMode()
public boolean baiduMapStartIndoorBleMode()
public boolean baiduMapStopIndoorBleMode()
public boolean isBLEIndoorMode()
public boolean IBeaconValiable()
public void setAccessKey(java.lang.String key)
public static BDLocation getBDLocationInCoorType(BDLocation src, java.lang.String transferType)
src
- 原始BDLocationtransferType
- BDLocation.BDLOCATION_GCJ02_TO_BD09/BDLOCATION_GCJ02_TO_BD09LL/BDLOCATION_BD09_TO_GCJ02/
BDLOCATION_BD09LL_TO_GCJ02