Skip to content

RoutePlan

此类表示一条驾车、步行或骑行出行方案。它没有构造函数,可通过DrivingRouteResult.getPlan()方法或WalkingRouteResult类的getPlan()方法获得。

方法

方法返回值描述
getNumRoutes()Number返回方案包含的线路的个数
getRoute(i: Number)Route返回方案中索引指定的线路。索引0表示第一条线路
getDistance(format: Boolean)String | Number返回方案总距离。当format参数为true时,返回方案距离字符串(包含单位),当format为false时,仅返回数值(单位为米)信息。默认参数为true
getDuration(format: Boolean)String | Number返回方案总时间。当format参数为true时,返回描述时间的字符串(包含单位),当format为false时,仅返回数值(单位为秒)信息。默认参数为true

示例

ts
// 创建路线规划实例(以驾车路线为例)
const drivingRoute = new BMapGL.DrivingRoute(map, {
  onSearchComplete: (results: BMapGL.DrivingRouteResult) => {
    // 获取第一条方案
    const plan = results.getPlan(0);
    
    // 获取方案包含的线路数量
    const numRoutes = plan.getNumRoutes();
    
    // 获取第一条线路
    const firstRoute = plan.getRoute(0);
    
    // 获取方案总距离(带单位)
    const distance = plan.getDistance(true); // 例如:"12.5公里"
    
    // 获取方案总距离(仅数值)
    const distanceValue = plan.getDistance(false); // 例如:12500
    
    // 获取方案总时间(带单位)
    const duration = plan.getDuration(true); // 例如:"30分钟"
    
    // 获取方案总时间(仅数值)
    const durationValue = plan.getDuration(false); // 例如:1800
  }
});

// 步行路线示例
const walkingRoute = new BMapGL.WalkingRoute(map, {
  onSearchComplete: (results: BMapGL.WalkingRouteResult) => {
    const plan = results.getPlan(0);
    console.log('步行距离:', plan.getDistance(true));
    console.log('预计时间:', plan.getDuration(true));
  }
});

基于 MIT 许可发布