公交路线规划可以根据起终点获取公交路线规划数据,并可以通过添加Polyline绘制出公交路线,效果图:
示例代码:
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.stepsfor (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) {}})
示例代码:
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.newStepsif (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);})
上一篇
下一篇
本篇文章对您是否有帮助?