当使用 Android SKMaps SDK (v2.5) 在导航模式下播放音频建议时,是否可以在建议输出之前更新建议以反射(reflect)英制/美国标准而不是公制?
查看 SDK 提供的 audio_files,我确实看到了代表英制单位的预录制文件,但我在文档中找不到显示如何更新它的方法。
我能找到的最接近的是 getAdviceList()它允许您指定 SKDistanceUnitType相应地生成视觉建议文本,但是,我在 SKAdvisorSettings 中看不到任何内容(抱歉缺少链接,这是一个新帐户,不允许在帖子中使用超过 2 个链接)这会让我修改音频建议的输出方式。
有没有人对如何实现这一目标有任何见解?感谢您的帮助!
-基思
最佳答案
在看到 SylviA 对这个问题的帖子后,我深入研究了 getAdviceList() 方法并注意到虽然它调用了一个本地函数 this.setmeasurementunit() 来保存传递给该方法的距离类型,但这仍然不是反射(reflect)在导航模式下显示的音频和文本中。
返回的List<SKRouteAdvice>
对象确实以英制显示单位,但一旦导航开始,建议将恢复为公制。
一段时间后,我在 SKNavigationSettings 类中找到了另一个名为 setDistanceUnit 的方法,它解决了我的问题。
SKNavigationSettings navSettings = new SKNavigationSettings();
navSettings.setDistanceUnit(SKMaps.SKDistanceUnitType.DISTANCE_UNIT_MILES_FEET);
...
navManager.startNavigation(navSettings);
进行此更改可确保在导航模式下返回的音频和文本都使用英制/美国标准单位,而我需要。
希望对您有所帮助,再次感谢 SylviA 的帖子让我意识到了这一点。
关于android - 是否可以更新导航中返回的音频建议以使用英制(英里和英尺)单位?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31662100/