0

我正在开发科尔多瓦 HERE 地图插件以在应用程序中获取路线计算数据。我正在为 ios 添加功能。我想获得路线的机动指令,以下是我的代码来获取计算路线的机动指令。


NSString * language = [[NSLocale preferredLanguages] firstObject]; // getting lang code en

 NSArray* inst= [route instructionsForLanguage:language unitSystem:NMARouteInstructionsUnitSystemMetric];

但我不知道为什么它返回空数组。请帮助任何知道如何获得机动指令的人。

4

1 回答 1

0

发生这种情况是因为 NSLocalepreferredLanguages可以为您提供语言代码而不是语言和国家代码,例如

[NSLocale preferredLanguages] // -> tr

根据HERE 地图文档功能期望语言代码,如en-US

语言应该是符合 IETF BCP-47 标准的有效代码(参见http://tools.ietf.org/html/bcp47)。

所以为了让你更容易,需要获取语言代码。

NSLocale *locale = [NSLocale currentLocale];
NSString *language = [NSString stringWithFormat: "%@-%@", [locale languageCode], [locale countryCode]]; // -> tr-TR
于 2021-07-30T07:49:30.013 回答