GMSMapView 并在应用程序中设置不同的语言 - Xcode/Swift

问题描述 投票:0回答:1

我正在开发一个使用 Google 地图库的 iOS 应用程序,我希望能够使用以下代码在应用程序内更改我的应用程序的语言和本地化设置:

func selectLanguage(currentLanguage: String){
    UserDefaults.standard.set([currentLanguage], forKey: "AppleLanguages")
    UserDefaults.standard.synchronize()
}

并使用以下代码加载地图:

import GoogleMaps
private func addMap() {
    let camera = cameraAtUserWithZoom(zoom: 10.0)
    self.mapView = GMSMapView(frame: self.view.frame, camera: camera)
}

这会按预期更改启动应用程序时的语言,但在尝试加载地图时,出现以下错误:

"GMSx_GMMClientPropertiesRequestProto.screenPixelDensity: Attempt to set an unknown enum value (0)"
从手机设置本身更改语言时不会发生这种情况,但有没有办法在应用程序内更改语言设置而不导致 Google 地图库崩溃?

我研究了在 UserDefaults.standard.set 之外更改语言的其他方法,还研究了 Google 地图对象如何管理其视图,但找不到任何特定于语言设置的内容。

swift xcode google-maps localization gmsmapview
1个回答
0
投票

我太傻了...“currentLanguage”变量传递的是“english”一词,而不是英语的代码。

© www.soinside.com 2019 - 2024. All rights reserved.