示例中心
功能在线体验
menu 导航 closed 关闭

高德 开发 iOS 导航SDK 开发指南 专业导航 多路线导航

更新时间:2020年10月14日

基本介绍

导航SDK从v6.3.0开始,支持多路线导航模式,即实时导航中拥有1到2条备选路线供用户选择,用户可以根据提供的时间差、距离差、费用差等信息,自行点击路线进行引导路线的变更,效果如图所示。 

使用说明

通过设置-setMultipleRouteNaviMode: 来开关多路线导航模式,然后开始算路,关键代码如下: 

[[AMapNaviDriveManager sharedInstance] addDataRepresentative:self];
[[AMapNaviDriveManager sharedInstance] setMultipleRouteNaviMode:YES];
[[AMapNaviDriveManager sharedInstance] calculateDriveRouteWithStartPOIInfo:self.startPOIInfo  endPOIInfo:self.endPOIInfo wayPOIInfos:nil drivingStrategy:AMapNaviDrivingStrategyMultipleDefault];
AMapNaviDriveManager.sharedInstance().addDataRepresentative(self)
AMapNaviDriveManager.sharedInstance().setMultipleRouteNaviMode(true)
AMapNaviDriveManager.sharedInstance().calculateDriveRoute(withStart:startPOIInfo, end:endPOIInfo, wayPOIInfos:nil, drivingStrategy:AMapNaviDrivingStrategyMultipleDefault)

算路成功后,进行实时导航,在导航中变更引导路线时,会收到如下回调:

/**
 * @brief 路径信息更新回调
 * @param driveManager 驾车导航管理类
 * @param naviRoute 路径信息,参考 AMapNaviRoute 类
 */
- (void)driveManager:(AMapNaviDriveManager *)driveManager updateNaviRoute:(nullable AMapNaviRoute *)naviRoute;

/**
 * @brief 多路线导航模式下的备选路线更新回调, 注意:此函数只有在 driveManager 设置了多路线导航模式才会回调. since 6.3.0
 * @param driveManager 驾车导航管理类
 * @param backupRoutes 备选路线信息数组, 参考 AMapNaviRoute 类
 */
- (void)driveManager:(AMapNaviDriveManager *)driveManager updateBackupRoute:(nullable NSArray<AMapNaviRoute *> *)backupRoutes;

注意点:

  • 设置的导航模式会在下一次主动路径规划时生效, 建议在AMapNaviDriveManager单例初始化时就进行设置. 
  • 多路线导航除了模式设置为YES,还需同时满足以下4个条件才能够生效:
    • 路径规划时AMapNaviDrivingStrategy需选用多路径策略; 
    • 起终点的直线距离需<=80KM; 
    • 不能有途径点; 
    • 车辆不能是货车类型。
新用户
福利
示例
中心
常见
问题