是否可以更新导航中返回的音频建议以使用英制(英里和英尺)单位?

时间:2015-07-27 19:55:30

标签: android skmaps

使用Android SKMaps SDK(v2.5)在导航模式下播放音频建议时,可以在输出之前更新建议以反映英制/美国标准而不是公制?

查看随SDK提供的audio_files,我确实看到表示英制单位的预先录制的文件,但我无法在文档中找到显示如何更新此文件的方法。

我能找到的最近的是getAdviceList(),它允许您指定一个SKDistanceUnitType来相应地生成视觉建议文本,但是,我在SKAdvisorSettings中看不到任何内容(对此缺乏道歉)一个链接,这是一个新的帐户,它不允许在帖子中提供超过2个链接),这将允许我修改音频建议的输出方式。

有没有人对如何实现这一点有任何见解?谢谢你的帮助!

-Keith

2 个答案:

答案 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