驾车路径规划

最后更新时间:2025-03-14

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

// 发起驾车导航路线规划
navigatorDrive.searchRoute(
        RoutePlanRequester.Companion.newBuilder(NavRouteReqParam.TravelMode.TravelModeDriving)
                .start(new NavSearchPoint(39.984108, 116.308082))
                .end(new NavSearchPoint(39.896938, 116.316483))
                .build(),
        (DriveRoutePlanRequestCallback) (navRoutePlan, error) -> {
            if (error != null) {
                // handle error
                return;
            }
            if (navRoutePlan != null) {
                // handle result          
                navigatorDrive.simulator()
                        .setConfig(SimulatorConfig
                                .builder(SimulatorConfig.Type.REPLAY_LOCATIONS_FROM_FILE)
                                .setSimulateSpeed(55)  // 设置模拟导航速度
                                .build()
                        )
                        .setEnable(true);
                // 发起模拟导航
                navigatorDrive.startNavigation(navRoutePlan.getRouteDatas().get(0).getRouteId());
            }
        }
);

算路参数

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

算路结果

NavRoutePlan

算路结果,包含成功与异常:

参数 类型 是否必填 说明
error NavError 算路失败原因
navRoutePlan NavRoutePlan<NavDriveRoute> 算路结果
routeDatas List<NavDriveRoute> 算路的路线数据,包含1~3条路线
NavDriveRoute

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

参数 类型 是否必填
recommendType NavRecommendRouteInfo.Type 推荐该路线的理由
routeID String 路线id
distance int 路线总距离,单位:米
time int 总预计时间. 单位,分钟
trafficLightCount int
fee int 路线预计所需高速费 单位: 元
routePoints List<LatLng> 路线点串数据, 可以用地图SDK绘制路线
trafficItems List<NavRouteTrafficItem> 路况数据,可以用地图SDK绘制路线的时候加上路况颜色
waypoints List<NavWaypoint> 途经点信息
segmentItems List<NavRouteSegment> 路线分段信息
routeExplains List<NavRouteExplain> 路线解释性信息
trafficLights List<NavRoutePoint> 路线红绿灯信息
NavError.Code

算路失败错误原因:

// NavError.Code

NET_ERROR(1001),
NET_UNAVAILABLE(1002),
NET_TIME_OUT(1003),
DATA_INVALID(2001),
OD_ERROR(2002),
WP_ERROR(2003),
ADSORBENT_ERROR(2004),
CALC_ROUTE_ERROR(2005),
AUTHENTICATION_ERROR(2006),
POINTS_ERROR(2007),
INNER_SERVER_ERROR(2999);

注意

在发起导航路线请求前需要先同意隐私合规接口

本页内容