咨询startTurnByTurnNavigation中viaWaypoints最大数量及报错代码1问题
HERE Maps路线规划中viaWaypoints的数量限制问题解答
你遇到的这个路线创建失败的问题,其实是HERE Maps iOS SDK的coreRouter.calculateRoute接口有明确的停靠点数量限制:包括起点、所有途经点(viaWaypoints)和终点在内,总停靠点数量最多不能超过25个。当你传入的waypoints总数超过这个上限时,接口就会返回参数无效的错误,也就是你看到的error.rawValue为"1"——这个错误码对应NMARoutingError.invalidParameter,本质就是参数不符合接口要求。
结合你的代码来看:
coreRouter.calculateRoute(withStops: waypoints, routingMode: NMARoutingMode()) { routeResult, error in if error != NMARoutingError.none { print("Error: Routing failed. Maybe you are overseas?") self.labelTest.text = "Error: Routing failed." NSLog(String(error.rawValue)) return }
这里的waypoints数组如果包含的起点+途经点+终点总数超过25,就会触发这个错误。
如果你的业务场景确实需要使用大量途经点,可以试试这两个解决方案:
- 拆分路线:把整条长路线拆分成多个短路线段,每个路段的停靠点总数控制在25以内,然后依次完成导航。
- 使用路线优化服务:借助HERE的Route Optimization工具来优化途经点的顺序,同时自动拆分符合数量限制的路线,这样既能保证导航逻辑顺畅,也能规避数量限制问题。
内容的提问来源于stack exchange,提问作者Schwarz Software
相关产品推荐
相关产品推荐

