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

Is it possible to update the Audio Advice returned in Navigation to use Imperial (miles and feet) units?

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

查看随 SDK 提供的 audio_files,我确实看到了代表英制单位的预录制文件,但我在文档中找不到说明如何更新它的方法。

我能找到的最接近的是 getAdviceList() which allows you to specify a SKDistanceUnitType 相应地生成视觉建议文本,但是,我在 SKAdvisorSettings 中没有看到任何内容(抱歉缺少 link,这是一个新帐户在 post 中不允许超过 2 links),这将让我修改音频建议的输出方式。

有没有人知道如何做到这一点?感谢您的帮助!

-基思

onRouteCalculationCompleted 方法中插入以下代码:SKRouteManager.getInstance().getAdviceList(routeInfo.getRouteID(), SKMaps.SKDistanceUnitType.DISTANCE_UNIT_MILES_FEET);

在看到 SylviA 对这个问题的 post 后,我深入研究了 getAdviceList() 方法并注意到虽然它调用本机函数 this.setmeasurementunit() 来保存传递的距离类型对于该方法,这仍然没有反映在导航模式下显示的音频和文本中。

返回的 List<SKRouteAdvice> 对象确实以英制显示单位,但一旦导航开始,建议将恢复为公制。

一段时间后,我在 SKNavigationSettings class 中找到了另一个名为 setDistanceUnit 的方法,它解决了我的问题。

SKNavigationSettings navSettings = new SKNavigationSettings();
navSettings.setDistanceUnit(SKMaps.SKDistanceUnitType.DISTANCE_UNIT_MILES_FEET);
...
navManager.startNavigation(navSettings);

进行此更改可确保在导航模式下返回的音频和文本都使用 Imperial/US 标准单位,而我需要。

希望对您有所帮助,再次感谢 SylviA 的 post 让我意识到了这一点。