废话
交通态势信息是由当前时刻和未来某一时刻的交通状况信息构成,目前该功能仅对当前时刻对交通状况(路况)信息进行了透出。这篇有点尴尬的是,实在不好用地图来演示,所以就简单地打印一下信息,知道有哪些数据就可以了。
看代码
TrafficSearch trafficSearch = new TrafficSearch(this);
trafficSearch.setTrafficSearchListener(this);
RoadTrafficQuery roadTrafficQuery = new RoadTrafficQuery(
"将台路", //道路名称
"110000", //城市编号
TrafficSearch.ROAD_LEVEL_NORMAL_WAY //道路级别
);
trafficSearch.loadTrafficByRoadAsyn(roadTrafficQuery);
道路等级
- 1:高速(例如:京藏高速);
- 2:城市快速路、国道(例如:三环路、103国道);
- 3:高速辅路(例如:G6辅路);
- 4:主要道路(例如:长安街、三环辅路路);
- 5:一般道路(例如:彩和坊路);
- 6:无名道路;
注:以上道路数值设置之后存在从大到小的包含关系,如道路等级5代表一般道路,设置后会包含高速、城市快速路、高速辅路、主要道路以及一般道路的交通态势查询。
查询结果回调比较复杂,包含很多数据。
@Override
public void onRoadTrafficSearched(TrafficStatusResult result, int i) {
//返回路况综合情况描述
String description = result.getDescription();
//包含对路况的评价,拥堵占比等
TrafficStatusEvaluation evaluation = result.getEvaluation();
//道路列表,包含每条道路坐标点集以及各道路路况信息
List<TrafficStatusInfo> roads = result.getRoads();
}
先来看第一个,这个比较简单
将台路:从京密路到芳园西路严重拥堵,首信大厦附近自东向西行驶缓慢。
第二个是路况分析,反映出道路通行情况,拥堵、畅通等部分的占比
行驶缓慢, 堵车=6.65%, 拥堵=28.21%, 加快=59.31%, 状态=3, 未知=5.83%
第三个是具体分析每条道路的通行状况,细化到各个方向的通行速度
将台路, lcodes=8532,8533, 方向=从京密路到芳园西路, 速度=10.0, angle=319, 状态=3
将台路, lcodes=8534, 方向=从芳园西路到酒仙桥路, 速度=10.0, angle=319, 状态=2
将台路, lcodes=8535,8775, 方向=从酒仙桥路到东风南路, 速度=25.0, angle=311, 状态=1
将台路, lcodes=8536, 方向=从东风南路到星火东路, 速度=0.0, angle=290, 状态=0
将台路, lcodes=-8536, 方向=星火东路附近, 速度=0.0, angle=0, 状态=0
将台路, lcodes=-8775,-8535, 方向=从星火东路到酒仙桥东路, 速度=25.0, angle=113, 状态=1
将台路, lcodes=-8534,-8533,-8532, 方向=从酒仙桥东路到京密路, 速度=15.0, angle=153, 状态=2
来看下整体的数据解析
@Override
public void onRoadTrafficSearched(TrafficStatusResult result, int i) {
//返回路况综合情况描述
String description = result.getDescription();
//包含对路况的评价,拥堵占比等
TrafficStatusEvaluation evaluation = result.getEvaluation();
String description1 = evaluation.getDescription();
String blocked = evaluation.getBlocked();
String congested = evaluation.getCongested();
String expedite = evaluation.getExpedite();
String status = evaluation.getStatus();
String unknown = evaluation.getUnknown();
//道路列表,包含道路坐标点集以及各道路路况信息
List<TrafficStatusInfo> roads = result.getRoads();
for (TrafficStatusInfo road : roads) {
String status1 = road.getStatus();
int angle = road.getAngle();
List<LatLonPoint> coordinates = road.getCoordinates();
String direction = road.getDirection();
String lcodes = road.getLcodes();
String name = road.getName();
float speed = road.getSpeed();
}
}
之前说了,这篇实在不知道怎么在地图上演示,就简单看下信息吧。
总结
从下篇开始,我们要降到很重要的一部分,叫出行路线规划。本期节目就到这里,感谢大家收看,我们下期再见~