Here Navigation SDK 4.7.4版如何使用之前计算好的路线?

How to use previosly calculated route in Here Navigation SDK version 4.7.4?

我正在为 Android 导航应用程序使用 Here SDK 版本 4.7.4。因此,我们使用我们的门户网站计算路线,并希望在 Android 导航应用程序中使用我们计算的相同路线(通过在此处调用 REST API 使用门户网站)。

我在网上搜索过这个,很遗憾没有找到任何有价值的东西。

目前,在 Here 地图导航示例中,它使用以下代码行计算路线:

Waypoint startWaypoint = new Waypoint(startGeoCoordinates);
Waypoint destinationWaypoint = new Waypoint(destinationGeoCoordinates);

List<Waypoint> waypoints = new ArrayList<>(Arrays.asList(startWaypoint, destinationWaypoint));

routingEngine.calculateRoute(waypoints, new TruckOptions(), calculateRouteCallback);

我想通过调用另一个可以 return 之前计算的路线的 Here SDK 方法来替换这些代码。当我们开始导航时,它应该遵循路线。

您无法将从 REST API 调用收到的 Route 对象转换为 HERE SDK 可以理解的 Java 或 Kotlin 对象 - 如 JavaScript/JSON 与 Java / Kotlin 不兼容,最重要的是,Route 对象无法在应用程序端从头开始生成,因为没有构造函数可公开访问。

您只能尝试使用您在门户网站上使用的相同参数重新创建路线。结果可能会有所不同,因为这是新的计算,时间和交通情况可能会改变路线。

更好的解决方案可能是与 HERE 支持团队联系并请求他们允许从给定 RouteHandle 创建路线。路由句柄唯一标识一条路由,它只是一条路由的 String 表示。 REST API 可以生成句柄,然后 HERE SDK 可以使用它,理论上 ...