我正在使用google-play-service-lib
。如何更改Google地图的语言,即以korian语言或印地语显示位置。
答案 0 :(得分:11)
您可以使用Locale对象更改使用Google Map API V2的Google地图的位置。但是,正在使用的设备需要支持该语言。
这是full list of supported languages。
通过以下代码,我可以将地图上的语言更改为中文:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
String languageToLoad = "zh_CN";
Locale locale = new Locale(languageToLoad);
Locale.setDefault(locale);
Configuration config = new Configuration();
config.locale = locale;
getBaseContext().getResources().updateConfiguration(config,
getBaseContext().getResources().getDisplayMetrics());
setContentView(R.layout.activity_maps);
setUpMapIfNeeded();
}
结果,在美国手机上的代码中设置为中文的语言(无手动更改):
我也可以让它显示韩语,使用此语言环境代码:
String languageToLoad = "ko_KR";
结果:
注意强>
此处列出了Google地图支持的语言: https://developers.google.com/maps/faq#languagesupport
答案 1 :(得分:3)
我们只需要更改应用程序中的位置,即可获得不同语言的Map描述。我们必须添加验证以避免使用已弃用的方法:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
String language= "hi"; //Hindi language!.
Locale locale = new Locale(language);
Locale.setDefault(locale);
Configuration config = new Configuration();
if(Build.VERSION.SDK_INT>Build.VERSION_CODES.JELLY_BEAN){
config.setLocale(locale);
getContext().createConfigurationContext(config);
}else { //deprecated
config.locale = locale;
getResources().updateConfiguration(config, getResources().getDisplayMetrics());
}
...
...
...
非常重要的是,不支持所有语言,这是俄语的一个例子:
我们可以从以下网站获取代码语言:
答案 2 :(得分:1)
只需更改设备上的区域设置即可。如果翻译可用,它们将自动显示。
我的美国手机的屏幕截图,其中语言区域已切换为韩语:
答案 3 :(得分:0)
希望这个更改地图语言的简单解决方案可以帮助某人:
只需在您的活动 setUpMapLocale()
中添加 call onCreate()
:
private fun setUpMapLocale() {
val languageToLoad = "iw_IL" // your desired language locale
val locale = Locale(languageToLoad)
Locale.setDefault(locale)
baseContext.resources.configuration.setLocale(locale)
}
所以我只需要对附加到 setLocale()
资源的现有配置调用 baseContext