gpt4 book ai didi

android - HERE Android SDK NavigateManager 在没有 Map 的情况下模拟不提供操作

转载 作者:搜寻专家 更新时间:2023-11-01 09:26:46 26 4
gpt4 key购买 nike

我正在使用 QT 应用程序中嵌入的 HERE Android SDK,并尝试模拟转弯方向,但没有 map 显示。我的应用中没有 Map 或 MapFragment,我直接使用 MapEngineNavigationManager。我正在主 UI 线程上初始化 map 引擎,这是推荐的做法(不确定这是否会成为问题)。

我能够初始化 map 引擎,创建路线并成功转储。但是,当我使用 NavigationManager 模拟路线时,我可以看到导航移动(位置坐标更新正在进行)。但是,我有 ManeuverEventListeners 和 NewInstructionEventListeners,它们从未被调用过。

在我的位置监听器中,如果我调用 getNextManeuverDistance()getETA(),我会收到错误响应。所有其他功能均已成功,并且模拟导航最终将完成(在预期时间),但不会提供任何指令。

我有相同的代码在示例应用程序中运行良好,但在 QT 框架中运行时我永远无法获得有效的距离或操作。在 API 引用中它说 getNextManeuver() 将返回 null(并且获取距离返回 MAX_INT)如果下一个机动还不可用。是什么原因造成的?

在没有 Map 或 MapFragment 的应用程序中运行它是否有效?知道为什么 NavigateManager 模拟会这样吗?

最佳答案

是的,我最终发现必须手动预加载 map 数据。似乎计算路线还不够,数据获取通常由 map View 完成,导航管理器只是等待 map 数据。

在我的例子中,一旦我计算出路线,我就会启动 mMapDataPrefetcher.fetchMapData(route,radius),然后立即启动 mNavigationManager.simulate(route,speed) 。在加载 map 数据之前导航有点不稳定,但在 map 加载完成后立即开始响应。在我的一些测试中加载可能很慢,不知道为什么。但在频繁使用时, map 数据通常已经存在,因此在这种情况下效果更好。

我不确定什么是合适的半径;我试了500m,通话失败; 2000 米现在对我很有效。

在此处查看页面:

这些功能被描述为测试版,所以我不确定是否有任何方法可以在受支持的生产方式中做到这一点。

关于android - HERE Android SDK NavigateManager 在没有 Map 的情况下模拟不提供操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50053486/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com