Android高德之旅(16)交通态势查询

作者: 大公爵 | 来源:发表于2017-11-13 10:40 被阅读197次

    废话

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

    看代码

    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();
        }
    }
    

    之前说了,这篇实在不知道怎么在地图上演示,就简单看下信息吧。


    总结

    从下篇开始,我们要降到很重要的一部分,叫出行路线规划。本期节目就到这里,感谢大家收看,我们下期再见~

    相关文章

      网友评论

        本文标题:Android高德之旅(16)交通态势查询

        本文链接:https://www.haomeiwen.com/subject/zciamxtx.html