驾车路径规划

路径规划可根据起点、终点、途径点的经纬度以及POI ID,给用户提供出行路线。路径规划成功后得到1~3条路线信息,根据路线信息可以在地图上进行位置标注、绘制路线等操作。 发起路径规划方法如下,

//发起驾车导航路线规划
carNavManager.searchRoute(start, dest, waypoints, option, 
    new TencentRouteSearchCallback() {
       @Override 
       public void onRouteSearchFailure(int code, String msg) {
            // 算路失败需查看具体的error code类型
         }

       @Override 
       public void onRouteSearchSuccess(ArrayList<RouteData> arrayList) {
           // 若算路成功,可通过result获得路线数据,通过地图SDK绘制路线
       }
});

算路参数

路径规划参数如下面表格所示:

参数 类型 是否必填 说明
dest NaviPoi 路径规划终点,一般使用检索接口获取
mLatitude double 纬度坐标
mLongitude double 经度坐标
mPoiId Striing 终点POI ID(可通过腾讯位置服务地点搜索服务得到),当目的地为较大园区、小区时,会以引导点作为终点(如出入口等),体验更优。
该参数优先级高于坐标,但是当目的地无引导点数据或POI ID失效时,仍会使用坐标作为终点
mPoiName String 终点的名称
start NaviPoi 路径规划起点,一般使用当前定位点赋值
mLatitude double 纬度坐标
mLongitude double 经度坐标
uid Striing 该地点的唯一标识,即poi id。解释同下方终点的uid
waypoints ArrayList< NaviPoi > 途经点数组,最多设置16个。
路线规划按照数组的顺序进行,不会按路径最短原则进行调整途经点到达顺序。
searchOptions CarRouteSearchOptions 路线规划策略
mAvoidTollEnabled boolean 是否避开收费站,默认为NO
mAvoidHighwayEnabled boolean 是否避开高速公路,默认为NO
mAvoidCongestionEnabled boolean 是否避开拥堵,默认为NO
highway boolean 是否优先高速,默认为NO
shortTime boolean 是否优先时间短路线,默认为NO
bigRoad boolean 是否优先大路,默认为NO
mNaviScene int 0: 普通导航;1:接驾;2:送驾。
网约车场景下务必传递接送驾参数,可提升导航终点的准确性
mLicenseNumber Striing 车牌号。路径规划会根据车牌号进行限行区域避让
preLocations List 前序点。最好传入路线规划之前最新的50个定位点,以提高起点的准确性。
定位信息有一定的误差,所以通过历史定位点去判断起点位置会更加准确

算路返回结果

参数 类型 说明
errorCode String 算路失败错误码,具体见下
errorMsg String 算路失败错误描述
routes ArrayList 算路的路线数据,包含1~3条路线

每条路线RouteData 包含数据如下:

参数 类型 说明
mRecommendMsg String 推荐该路线的理由
routeId String 路线id
mDistance int 路线总距离,单位:米
mTime int 总预计时间. 单位,分钟
mRoutePoints List 路线点串数据, 可以用地图SDK绘制路线
mTrafficItems ArrayList 路况数据,可以用地图SDK绘制路线的时候加上路况颜色
toWayPointInfos ArrayList 途经点信息
segments ArrayList 路线分段信息

错误信息类列表如下,

errCode = 1001, //< 网络错误
errCode = 1002, //< 手机无网络
errCode = 1003, //< 请求超时
errCode = 2001, //< 返回数据无效
errCode = 2002, //< 起终点参数错误
errCode = 2003, //< 途经点参数错误
errCode = 2004, //< 吸附失败
errCode = 2005, //< 算路失败
errCode = 2006, //< 鉴权失败
errCode = 2007, //< 点串导航时参数不合法
errCode = 2999, //< 服务器内部错误