使用Android SKMaps SDK(v2.5)在导航模式下播放音频建议时,可以在输出之前更新建议以反映英制/美国标准而不是公制?
查看随SDK提供的audio_files,我确实看到表示英制单位的预先录制的文件,但我无法在文档中找到显示如何更新此文件的方法。
我能找到的最近的是getAdviceList(),它允许您指定一个SKDistanceUnitType来相应地生成视觉建议文本,但是,我在SKAdvisorSettings中看不到任何内容(对此缺乏道歉)一个链接,这是一个新的帐户,它不允许在帖子中提供超过2个链接),这将允许我修改音频建议的输出方式。
有没有人对如何实现这一点有任何见解?谢谢你的帮助!
-Keith
答案 0 :(得分:2)
在看到SylviA发布此问题时,我在getAdviceList()方法中挖了一下,发现虽然它调用了本机函数this.setmeasurementunit()来保存传递给方法的距离类型,这仍然没有反映在导航模式下显示的音频和文本中。
返回的List<SKRouteAdvice>
对象实际上显示了Imperial中的单位,但是一旦导航开始,建议将恢复为公制。
过了一段时间,我在SKNavigationSettings类中找到了另一个名为setDistanceUnit的方法,它解决了我的问题。
SKNavigationSettings navSettings = new SKNavigationSettings();
navSettings.setDistanceUnit(SKMaps.SKDistanceUnitType.DISTANCE_UNIT_MILES_FEET);
...
navManager.startNavigation(navSettings);
进行更改确保导航模式中返回的音频和文本都使用了帝国/美国标准单位,而且我需要。
希望有所帮助,再次感谢SylviA的帖子让我意识到这一点。
答案 1 :(得分:1)
在onRouteCalculationCompleted方法中插入以下代码:ToolStripMenuItem