如何在Here Map Explore SDK中实现无需多次API调用的实时ETA更新
在HERE Explore SDK中实现无重复API调用的实时ETA更新
是的,完全可以不用反复调用Get Route API来实现ETA的实时更新,核心依靠SDK内置的导航会话跟踪机制,结合你注意到的方位角设置来优化效果:
- 启动导航会话后自动跟踪位置:开启Turn-By-Turn导航后,SDK会持续监听设备实时位置,不需要你手动发起多次路线请求。只要注册好导航状态的回调,就能实时获取位置变化。
- 用方位角提升ETA准确性:按照文档提示,把当前位置的方位角(
location.bearingInDegrees)赋值给startWaypoint.headingInDegrees,能让SDK更精准地匹配你的行驶方向,避免无效的路线重算,同时让ETA更新更贴合实际行驶状态。 - 直接从导航状态提取实时ETA:在导航会话的回调里,SDK会自动根据实时位置、交通情况(如果开启了实时交通服务)动态更新ETA。你可以直接从当前导航状态对象中读取最新的ETA值,比如
NavigationState.currentRoute.eta(具体字段以你使用的SDK版本为准),全程不需要额外调用Get Route API。
补充说明:如果行驶中出现路线偏离,SDK会自动触发路线重规划,这个过程是内部完成的,你不用手动调用API,重规划后的ETA也会实时同步到导航状态里。
内容的提问来源于stack exchange,提问作者Sixk
相关产品推荐
相关产品推荐

