全部服务产品
开发者频道
定价
登录
公交路线规划
下载开发文档

公交路线规划可以根据起终点获取公交路线规划数据,并可以通过添加Polyline绘制出公交路线,效果图:

效果示例
1. 市内公交路线规划

示例代码:

let option: TransitRoutePlanOption = {
from: PlanNode.withLocation(fromArr),
to: PlanNode.withLocation(toArr)
}
// 获取公交路线规划
RoutePlanSearch.newInstance().transitSearch(option)
.then((res: TransitRouteResult) => {
try {
let resultLine: Array<LatLng> = []
if (typeof res.routeLines === "undefined") {
return
}
let line: TransitRouteLine = res.routeLines[0]
let steps: TransitStep[] = line.steps
for (let i = 0; i < steps.length; i++) {
let step = steps[i]
let llAry: LatLng[] = parseGeoStr2LLArray(step.pathString)
llAry.forEach(element => {
resultLine.push(element)
})
}
let polyline:Polyline = new Polyline({
points: resultLine,
fillcolor: '#a6f',
width: 10,
join: SysEnum.LineJoinType.ROUND,
cap: SysEnum.LineCapType.BUTT,
isThined: true,
isGeodesic: true
});
this.mapController?.addOverlay(polyline);
} catch (e) {
}
})
2. 跨城公交路线规划

示例代码:

const massOpt: MassTransitRoutePlanOption = {
from: from,
to: to
}
RoutePlanSearch.newInstance().masstransitSearch(massOpt)
.then((res: MassTransitRouteResult) => {
let resultLine: Array<LatLng> = []
if (typeof res.routeLines === "undefined") {
return
}
let line = res.routeLines[0]
let steps = line.newSteps
if (typeof steps === "undefined") {
return
}
for (let i = 0; i < steps.length; i++) {
for (let j = 0; j < steps[i].length; j++) {
let step = steps[i][j]
let llAry: LatLng[] = parseStrPathToLLArray(step.pathString)
llAry.forEach(element => {
resultLine.push(element)
})
}
}
let polyline: Polyline = new Polyline({
points: resultLine,
fillcolor: '#6af',
width: 10,
join: SysEnum.LineJoinType.ROUND,
cap: SysEnum.LineCapType.ROUND,
isThined: true,
isGeodesic: true
});
this.map?.addOverlay(polyline);
})

上一篇

骑行路线规划

下一篇

步行路线规划

本篇文章对您是否有帮助?