集成高德sdk查看交通路况

废话

交通态势信息是由当前时刻和未来某一时刻的交通状况信息构成,目前该功能仅对当前时刻对交通状况(路况)信息进行了透出。这篇有点尴尬的是,实在不好用地图来演示,所以就简单地打印一下信息,知道有哪些数据就可以了。

看代码

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();
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值