here-api - HERE SDK 中的流量路由
问题描述
我正在使用以下代码使用 Premium Android SDK 创建路由:
RouteOptions ro = new RouteOptions();
ro.setTransportMode(RouteOptions.TransportMode.CAR);
ro.setRouteType(RouteOptions.Type.BALANCED);
ro.setRouteCount(1);
RoutePlan rp = new RoutePlan();
// start route on current position
rp.setRouteOptions(ro);
rp.addWaypoint(new RouteWaypoint(currentGeoCoordinate));
rp.addWaypoint(new RouteWaypoint(stopGeoCordinate));
DynamicPenalty dp = new DynamicPenalty();
dp.setTrafficPenaltyMode(TrafficPenaltyMode.OPTIMAL);
stopGeoCordinate = new GeoCoordinate(trip.getLatitude(), trip.getLongitude());
CoreRouter rm = new CoreRouter();
rm.setDynamicPenalty(dp);
rm.calculateRoute(rp, new CoreRouter.Listener() { ...
使用 Android Studio Network Profiler,我看到这个单一的请求导致大约 30 次相同的后端 API 调用以下 URL:
https://v154-105-30-8.route.hybrid.api.here.com/rt ?.....
这是预期的行为,因此单个流量路由请求会导致 30 个事务,还是我在做一些根本不正确的事情?
解决方案
作为后续,SDK 团队承认 SDK 3.14(可能更早版本)存在错误。
当 NavigationManager 设置为 DYNAMIC 流量路由时,如果路由稍微偏离路径,它会立即调用服务器进行重新路由。在我创建的示例中,0.5 英里的行程导致对服务器路由 API 的 70 次调用。
SDK 团队表示这只会在 5 秒后发生,但无法正常工作。3.15 应该解决这个问题。
因此,如果有人在 NavigationManager 和 DYNAMIC 路由中使用 3.14(我不确定早期版本),请检查您的事务计数,因为它可能比预期的要高得多。
推荐阅读
- javascript - 使用 Jquery 创建循环动画
- javascript - 通过 MQTT 将 NodeJS 客户端连接到 AWS IoT
- swift - 使用 URL 打开应用程序时将数据从场景委托传递到 ViewController
- r - 使用插入符号的 train() 函数的 FinalModel 输出为 RF 构建部分依赖图时出错
- java - 如何格式化 JTable 的内容
- python - 如何使用多 GPU _ BERT
- javascript - 如何在 JavaScript 中使用三元运算符更改函数中的 if else 语句?
- c++ - 从带有双参数的 asm 外部函数调用
- excel - 用户表单子在动态组合框上给出错误 13 类型不匹配
- laravel - laravel 在自定义公共路径中创建符号链接