{"version":"0.1.0","code":"0000","result":true,"message":"处理成功","errdetail":"","timestamp":1671508917603,"data":{"id":71712304,"title":"9.3.3 设置项","slug":"onrkc3","format":"lake","bookId":26046811,"body":null,"body_draft":null,"body_html":"

场景图

\"image.png\"

时序图

关键参数

核心接口

int com.autonavi.gbl.user.behavior.BehaviorService.getConfig(ConfigKey, ConfigValue)

int com.autonavi.gbl.user.behavior.BehaviorService.setConfig(ConfigKey, ConfigValue, SyncMode)void com.autonavi.gbl.user.behavior.observer.IBehaviorServiceObserver.notify(SyncEventType, SyncRet)


说明:函数详情,请复制函数名称到在线API搜索

调用示例

public class BehaviorPresenter implements IBehaviorServiceObserver {\n    private BehaviorService mBehaviorService;\n    \n    private static class BehaviorManagerHolder {\n        private static BehaviorPresenter mInstance = new BehaviorPresenter();\n    }\n    \n    public static BehaviorPresenter getInstance() {\n        return BehaviorManagerHolder.mInstance;\n    }\n    \n    /** 同步事件回调\n     */\n    @Override\n    public void notify(@SyncEventType.SyncEventType1 int eventType, @SyncRet.SyncRet1 int exCode) {\n        Message msg = mMessenger.newMessage(AutoConstant.HANDLER_BEHAVIOR_SDK);\n        Bundle bundle = new Bundle();\n        bundle.putInt("type", eventType);\n        bundle.putInt("code", exCode);\n        msg.setData(bundle);\n        mMessenger.sendMessage(msg);\n    }\n    \n    // 设置配置信息\n    @ErrorCode.ErrorCode1\n    public int setConfig(@ConfigKey.ConfigKey1 int key, ConfigValue value, @SyncMode.SyncMode1 int mode) {\n        if (mBehaviorService != null) {\n            return mBehaviorService.setConfig(key, value, mode);\n        }\n        return AutoConstant.DEFAULT_ERR_CODE;\n    }\n    \n\t// 获取配置项\n    public ConfigValue getConfig(int key) {\n        if (mBehaviorService != null) {\n            return mBehaviorService.getConfig(key);\n        }\n        return null;\n    }\n}\n\nBehaviorPresenter behaviorPresenter = BehaviorPresenter.getInstance();\n\n// 获取配置项(以播报模式为例)\nConfigValue cast_value = behaviorPresenter.getConfig(ConfigKey.ConfigKeyBroadcastMode);\nif (cast_value != null) {\n    // 这里 1,2 仅表示播报模式,具体含义由业务方自己定义\n    if (cast_value.intValue == 1) {\n        ...\n    } else if (cast_value.intValue == 2) {\n        ...\n    }\n} else {\n    ...\n}\n\n// 设置配置项(播报模式为例)\nint mode = SyncMode.SyncModeNow;\nConfigValue cast_simple = new ConfigValue();\ncast_simple.intValue = 1;\nint ret = behaviorPresenter.setConfig(ConfigKey.ConfigKeyBroadcastMode, cast_simple, mode);

算路偏好配置项与RouteStrategy映射关系

同步库车机配置项, 301子项(用来保存当前车机的算路偏好),同步库保存使用的是"|"组合模式,业务方从同步获取值后要做一个映射为 RouteStrategy 调用算路参数设置接口生效。

映射关系如下:

序号

算路策略

同步库值

策略配置

1

高德推荐

"0"

setRouteStrategy(RouteStrategyGaodeBest)

setConstrainCode(RouteCalcMulti | RouteNetWorking)

2

躲避拥堵

"2"

setRouteStrategy(RequestRouteTypeTMC)

setConstrainCode(RouteCalcMulti | RouteNetWorking)

3

避免收费

"4"

setRouteStrategy(RequestRouteTypeMoney)

setConstrainCode(RouteCalcMulti | RouteNetWorking)

4

不走高速

"8"

setRouteStrategy(RequestRouteTypeBest)  

setConstrainCode(RouteCalcMulti | RouteAvoidFreeway | RouteNetWorking)

5

高速优先

"16"

setRouteStrategy(RequestRouteTypeBest)  

setConstrainCode(RouteCalcMulti | RouteFreewayStrategy | RouteNetWorking)

6

速度最快

"32"

setRouteStrategy(RouteStrategyPersonalSpeedFirst)  

setConstrainCode(RouteCalcMulti | RouteNetWorking)

7

大路优先

"64"

setRouteStrategy(RouteStrategyPersonalWidthFirst)  

setConstrainCode(RouteCalcMulti | RouteNetWorking)

8

躲避拥堵+

避免收费

"2|4"

setRouteStrategy(RequestRouteTypeTMCFree)

setConstrainCode(RouteCalcMulti | RouteNetWorking)

9

躲避拥堵+

不走高速

"2|8"

setRouteStrategy(RequestRouteTypeTMC)

setConstrainCode(RouteCalcMulti | RouteAvoidFreeway | RouteNetWorking)

10

躲避拥堵+

高速优先

"2|16"

setRouteStrategy(RequestRouteTypeTMC)  

setConstrainCode(RouteCalcMulti | RouteFreewayStrategy | RouteNetWorking)

11

避免收费+

不走高速

"4|8"

setRouteStrategy(RequestRouteTypeMoney)

setConstrainCode(RouteCalcMulti | RouteAvoidFreeway | RouteNetWorking)

12

躲避拥堵+

避免收费+

不走高速

"2|4|8"

setRouteStrategy(RequestRouteTypeTMCFree)

setConstrainCode(RouteCalcMulti | RouteAvoidFreeway | RouteNetWorking)

13

躲避拥堵+

速度最快

"2|32"

setRouteStrategy(RouteStrategyPersonalTMC2SpeedFirst)

setConstrainCode(RouteCalcMulti | RouteNetWorking)

14

躲避拥堵+

大路优先

"2|64"

setRouteStrategy(RouteStrategyPersonalTMC2WidthFirst)

setConstrainCode(RouteCalcMulti | RouteNetWorking)



","body_lake":null,"pub_level":null,"status":"0","updated_at":"2022-04-06 07:05:49","deleted_at":null,"nameSpace":"mnlcaa/v610","browseCount":106,"collectCount":1,"estimateDate":9,"docStatus":0,"permissions":true,"overView":false}}