Skip to content

Line

此类表示一条公交线路,如果是跨城检索,还有可能表示一条飞机、火车或大巴线路。没有构造函数,通过TransitRoutePlan.getLine()方法得到。

属性

属性类型描述
titleString线路全称
typeLineType线路类型

方法

方法返回值描述
getNumViaStops()Number返回公交线路途径的车站个数,仅在公交和地铁类型有效
getGetOnStop()LocalResultPoi返回上车站
getGetOffStop()LocalResultPoi返回下车站
getPath()Array<Point>返回线路对应的地理坐标点数组,在公交方案中,地理坐标只给出方案涉及的部分
getPolyline()Polyline返回公交线路对应的折线覆盖物
getDistance(format: Boolean)String | Number当format为true时,返回本段公交线路的距离字符串(包含单位),当format为false时仅返回数值(单位为米)。默认参数为true

示例

ts
// 在公交路线规划回调中处理 Line 对象
transitRoute.onSearchComplete = (results: BMapGL.TransitRouteResult) => {
  if (results.getNumPlans() > 0) {
    const plan = results.getPlan(0);
    const numLines = plan.getNumLines();
    
    // 遍历所有线路
    for (let i = 0; i < numLines; i++) {
      const line = plan.getLine(i);
      console.log('线路名称:', line.title);
      console.log('线路类型:', line.type);
      
      // 获取上下车站
      const getOnStop = line.getGetOnStop();
      const getOffStop = line.getGetOffStop();
      console.log('上车站:', getOnStop);
      console.log('下车站:', getOffStop);
      
      // 获取线路路径
      const path = line.getPath();
      console.log('线路路径点:', path);
      
      // 获取线路折线
      const polyline = line.getPolyline();
      console.log('线路折线:', polyline);
      
      // 获取线路距离
      const distance = line.getDistance();
      console.log('线路距离:', distance);
      
      // 获取途经站点数量(仅公交和地铁有效)
      if (line.type === BMapGL.BMAP_LINE_TYPE_BUS || line.type === BMapGL.BMAP_LINE_TYPE_SUBWAY) {
        const numStops = line.getNumViaStops();
        console.log('途经站点数量:', numStops);
      }
    }
  }
};

基于 MIT 许可发布