Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/206.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在这里,Android SDK NavigateManager simulate without Map不提供操作_Android_Here Api - Fatal编程技术网

在这里,Android SDK NavigateManager simulate without Map不提供操作

在这里,Android SDK NavigateManager simulate without Map不提供操作,android,here-api,Android,Here Api,我正在使用嵌入在QT应用程序中的Android SDK,并尝试模拟转弯方向,但没有地图显示。我的应用程序中没有地图或地图片段,我正在直接使用MapEngine和NavigationManager。我正在主UI线程上初始化映射引擎,这是推荐的(不确定这是否会成为问题) 我能够初始化地图引擎,创建路线并成功转储它。但是,当我使用NavigationManager模拟路线时,我可以看到导航移动(位置中的坐标正在更新)。然而,我有两个eventlisteners和NewInstructionEventL

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

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

在我的侦听器位置,如果我调用
getnextmanuerdistance()
getETA()
我会得到错误响应。所有其他功能都成功了,模拟导航最终将(在预期时间)完成,但不会发出任何指令

我在一个示例应用程序中使用了相同的代码,但在QT框架中运行时,我从未获得有效的距离或操作。在API参考中,它说如果下一个动作还不可用,
getNextManeuver()
将返回null(而get distance返回MAX_INT)。这是什么原因造成的


在没有地图或地图片段的应用程序中运行此操作有效吗?知道为什么NavigateManager simulate会这样做吗?

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

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

我不确定什么是好的半径;我试了500米,结果打不通;2000m正在为我工作

请参见此处的页面:


这些功能被描述为beta版,因此我不确定是否有任何方法可以在受支持的生产模式下实现这一点。

我也遇到了同样的问题,到目前为止您是否找到了任何解决方案?我只做了第一个动作,然后什么都没做。在开始导航/模拟之前,我正在预加载地图