{"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
注:图层绘制天气扎标示例代码见《路线上天气图层》