TruckRoutePlan
interface TruckRoutePlan {
getDescription(includeHtml?: boolean): string;
getDistance(format?: boolean): string | number;
getDuration(format?: boolean): string | number;
getLine(i: number): TruckRouteLine;
getNumLines(): number;
getNumRoutes(): number;
getOilCost(): number;
getRoute(i: number): TruckRouteLine;
getToll(): number;
getTollDistance(): number;
getTotal(i: number): TruckRouteLine;
plan2LineLayerData(): {
geoMultiLineData: object;
trafficConditionData: {
coordinates: number[][];
distance: number;
status: number;
}[];
};
plan2MultiPolyline(): Point[][];
plan2Polyline(): Point[];
}
getDescription(includeHtml?: boolean): string;
getDistance(format?: boolean): string | number;
getDuration(format?: boolean): string | number;
getLine(i: number): TruckRouteLine;
getNumLines(): number;
getNumRoutes(): number;
getOilCost(): number;
getRoute(i: number): TruckRouteLine;
getToll(): number;
getTollDistance(): number;
getTotal(i: number): TruckRouteLine;
plan2LineLayerData(): {
geoMultiLineData: object;
trafficConditionData: {
coordinates: number[][];
distance: number;
status: number;
}[];
};
plan2MultiPolyline(): Point[][];
plan2Polyline(): Point[];
}
方法
返回方案的文字描述。
includeHtml为false时返回去掉 HTML 标签的纯文本参数 类型 说明 includeHtml可选boolean返回值 string
示例代码1
document.getElementById('panel').textContent = plan.getDescription(false);
返回方案总距离。
format为false时返回数值(米),否则返回带单位的字符串参数 类型 说明 format可选boolean返回值 string | number
示例代码1
plan.getDistance(false); // 42500
plan.getDistance(); // '42.5公里'
返回方案总耗时。
format为false时返回数值(秒),否则返回带单位的字符串参数 类型 说明 format可选boolean返回值 string | number
返回方案中索引指定的路段,索引 0 表示第一段
参数 类型 说明 inumber路段序号 返回值 TruckRouteLine
示例代码1
const line = plan.getLine(0);
console.log(line.roadName, line.distance, line.points.length);
返回方案包含的路段个数
返回值 number
返回方案包含的路段个数,与 TruckRoutePlan#getNumLines 等价
返回值 number
返回方案的油费,单位:元
返回值 number
返回方案过路费,单位:元
返回值 number
返回方案的收费路段距离,单位:米
返回值 number
- #plan2LineLayerData(): {
geoMultiLineData: object;
trafficConditionData: {
coordinates: number[][];
distance: number;
status: number;
}[];
}按路况把整条路线拆成 GeoJSON MultiLineString,用于自行绘制 LineLayer。 返回的
trafficConditionData与 MultiLineString 的coordinates按下标一一对应返回值 {
geoMultiLineData: object;
trafficConditionData: {
coordinates: number[][];
distance: number;
status: number;
}[];
}geoMultiLineData: object
GeoJSON FeatureCollection,只含一个 MultiLineString 要素,坐标为
[lng, lat]trafficConditionData: { coordinates: number[][]; distance: number; status: number }[]
与 MultiLineString 各子线段同下标的路况信息
示例代码1
const { geoMultiLineData, trafficConditionData } = plan.plan2LineLayerData();
const layer = new BMap.LineLayer({ enablePicked: true });
map.addLayer(layer);
layer.setData(geoMultiLineData);
console.log(trafficConditionData[0].status, trafficConditionData[0].distance);
按分段(途经点切分)返回坐标点串,下标即 TruckRouteLine#legIndex, 可直接交给多条 Polyline 渲染
返回值 Point[][]
此类表示一条货车出行方案。不可实例化,通过 TruckRouteResult#getPlan 获得。
与驾车方案的区别:货车方案按路段(step)组织,用 TruckRoutePlan#getLine 取路段, 每个路段带道路名、收费站、分段路况等货车专有信息。