{"version":"0.1.0","code":"0000","result":true,"message":"处理成功","errdetail":"","timestamp":1671516406085,"data":{"id":71713958,"title":"17.7.3.5 天气请求一致性","slug":"esg7es","format":"lake","bookId":26046811,"body":null,"body_draft":null,"body_html":"

场景图

说明:

任何一端设备的HMI发起请求,双端的HMI都能收到相同的天气请求回调。

多屏一致性方案的区别在于:

OnWeatherUpdated天气回调接口透出的WeatherLabelItem,其中增加了一个mPlanChannelId字段,和路线规划中的mPlanChannelId字段一个效果,用于两端HMI接收天气数据时,判断当前回调的天气请求来自于哪一端设备的主动请求。HMI根据自身业务需要,决定是否要使用mPlanChannelId进行主副屏差异化实现。

时序图


●关联文档

《5.3.5.2 沿途天气》

主屏HMI发起天气请求


副屏HMI发起天气请求

关键参数

com.autonavi.gbl.route.observer.IRouteWeatherObserver
com.autonavi.gbl.common.path.option.PathInfo
ArrayList<WeatherLabelItem> pItems
com.autonavi.gbl.route.model.WeatherLabelItem
com.autonavi.gbl.route.model.WeatherLabelItem.mWeatherID

WeatherID对应表:

WeatherID

天气

1

台风预警

2

暴雨预警

3

暴雪预警

5

大风预警

6

沙尘暴预警

9

雷电预警

10

冰雹预警

11

霜冻预警

12

大雾预警

13

霾预警

14

道路结冰预警

16

灰霾预警

17

雷雨大风预警

21

道路冰雪预警

100

101

多云

102

少云

103

晴间多云

104

200

有风

201

平静

202

微风

203

和风

204

清风

205

强风/劲风

206

疾风

207

大风

208

烈风

209

风暴

210

狂暴风

211

飓风

212

龙卷风

213

热带风暴

300

阵雨

301

强阵雨

302

雷阵雨

303

强雷阵雨

304

雷阵雨伴有冰雹

305

小雨

306

中雨

307

大雨

308

极端降雨

309

毛毛雨/细雨

310

暴雨

311

大暴雨

312

特大暴雨

313

冻雨

400

小雪

401

中雪

402

大雪

403

暴雪

404

雨夹雪

405

雨雪天气

406

阵雨夹雪

407

阵雪

500

薄雾

501

大雾

502

雾霾

503

扬沙

504

浮尘

507

沙尘暴

508

强沙尘暴

900

901

1001

冰粒

1002

冰针

1003

冰雹

1004

雷暴

1005

雷电

核心接口

void com.autonavi.gbl.route.RouteService.addRouteWeatherObserver(IRouteWeatherObserver ob)  
long com.autonavi.gbl.route.RouteService.requestPathWeather(PathInfo path)
void com.autonavi.gbl.route.observer.IRouteWeatherObserver.onWeatherUpdated(long requestId, ArrayList<WeatherLabelItem> pItems)
void com.autonavi.gbl.route.RouteService.removeRouteWeatherObserver(IRouteWeatherObserver ob)


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

调用示例

/*< 沿途天气观察者实现 */\nIRouteWeatherObserver routeWeatherObserver = new IRouteWeatherObserver() {\n    @Override\n    public void onWeatherUpdated(long requestId, final ArrayList<WeatherLabelItem> pItems) {\n        int size = pItems == null ? 0 : pItems.size();\n        if (size > 0) {\n            sendBizMessage(new Runnable() {\n                @Override\n                public void run() {\n                    //图层服务绘制天气扎标\n            });\n        }\n    }\n};\n\n...\n                           \n/*< 添加观察者 */\nmRouteService.addRouteResultObserver(routeResultObserver); \n\n...\n                           \n/*< 发起请求 */\nmRouteService.requestPathWeather(mPathInfo)\n

注:图层绘制天气扎标示例代码见《路线上天气图层

","body_lake":null,"pub_level":null,"status":"0","updated_at":"2022-08-08 02:42:35","deleted_at":null,"nameSpace":"mnlcaa/v610","browseCount":40,"collectCount":0,"estimateDate":6,"docStatus":0,"permissions":true,"overView":false}}